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

Fix a compilation issue to to a backport that did not go well. #9

Merged
merged 1 commit into from Apr 6, 2020

Conversation

anisunity
Copy link
Contributor

staging is broken, this pr was not merged before the repo is moved: https://github.com/Unity-Technologies/ScriptableRenderPipeline/pull/6533

@anisunity anisunity added the HDRP label Apr 6, 2020
@anisunity anisunity self-assigned this Apr 6, 2020
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome to the Unity SRP repo!
Please make sure to fill out the PR template as best you can to give reviewers as much information as possible.
If you have any questions (and you are a Unity employee) go to "#devs-renderpipe"

@sebastienlagarde sebastienlagarde merged commit 0972839 into HDRP/staging Apr 6, 2020
@sebastienlagarde sebastienlagarde deleted the HDRP/ComputeBufferFix branch April 6, 2020 11:58
@sebastienlagarde sebastienlagarde mentioned this pull request Apr 8, 2020
6 tasks
PaulDemeulenaere pushed a commit that referenced this pull request Apr 24, 2020
sebastienlagarde added a commit that referenced this pull request May 23, 2020
* Refreshed the GUIDs for additional post processing data to avoid conflicts with PPv2 (#6394)

* First pass of light loop optimizations (still single threaded) (#6367)

* Saving 10% off the PrepareLightForGPU

* 18% decrease in cost with this

* Around 12% cost shaving off GetLightData

* Around 6.5% win here

* Faster View matrix flip

* Missing *=-1

* About 7% win in preprocess light data

* Another small batch

* Small cleanup for first optimization pass

* Tiny bit more cleanup

* Address review points

* Add comment

* changelog

* Shadow cascade tooltip fix (when using the metric mode) (#6448)

* fix tooltip and public API about shadow cascades

* minor modifications in the text

* Add default tooltips

* Add assert in case we support more cascades in the future

* Minor text edit

* Changlog

* Updated tooltip text

* update TAA screenshots

* Disable POM test and update ref images (#6445)

* Focus on Decal uses the extends of the projectors (#6449)

* Added Alpha To Mask for HDRP and ShaderGraph (#6297)

* Added AlphaToMask render state

* AlphaToMask

* AlphaToMask test

* Updated changelog

* Updated LayeredLit and AxF test

* Added reference images

* Fix depth and motion vector passes for Unlit

* AlphaToMask doc. Unified doc and fixed links for Alpha Clipping

* Updated reference screenshots

* Update CHANGELOG.md

* Fix motion vector settings for test scenes

* Block AlphaToMask state in deferred or not MSAA. Updated test screenshots

* Fix MRT blend state

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Move scene view camera settings to camera settings window (#6390)

* Move the HDRP scene view settings to the Editor camera settings widget

* Changelog + tooltips

* update upgrade guide

* fix spelling

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed how the area light influence volume is computed to match rasterization. (#6454)

* - Fixed how the area light influence volume is computed to match rasterization.

* Fix issue in the axis order

* Update DebugDisplay.cs (#6467)

* Fix shadow tesselation culling (#6477)

* Fix custom pass culling params

* Fixed shadow tessellation culling

* revert custom pass code

* Adding 5 automated test scenes (#6483)

* Sharing more code for light data building (RT) and building a more optimal atlas (#6370)

* - Sharing GetLightData code between rasterization and ray tracing to avoid duplication and lack of features
- Inject all lights at the same time (rasterization and ray tracing) into the cookie atlas to avoid waste of space.
- Added a test scene to make sure it works properly

* correcting debug mistake

* Forgot to add the screenshot and to enable the test in the editor build settings

* - Fixed usage of light size data that are not available at runtime. (#6489)

* Hdrp /lookdev ui fixes (#6491)

* Fix no environment text wraping

* Add missing toolbar tooltips

* Fix camera button-dropdown layout

* Fix uss loss at domain reload

* Update CHANGELOG.md

* Fix custom pass depth copy (#6484)

* Fixed the depth buffer copy made before custom pass after opaque and normal injection point

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Changed the diffusion profile warning on the material to an info and changed the message to be more precise. (#6479)

* Fix issue with baked reflection probes constantly marked as dirty with auto-bake on (#6473)

* Use different hash to prevent the perennial dirtying of baked probes.

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp /fix drag area width at left of light intensity (#6471)

* Fix drag area width at left of light's intensity

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp /fix reset of HDAdditionalLightData (#6453)

* fix type resolving issue when reseting HDAdditionalLightdata

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Add option to disable XR rendering on the camera settings (#6372)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix unused leftover (#6497)

* Split HDRP Test scene 1900 in two scene (#6498)

* Fix custom pass test reference images (#6512)

* Updated ref image for PT fog test (5005). (#6513)

* Review corrections for previous PR (#6494)

* Fixed an usage of a a compute buffer not bound (1229964) (#6476)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed scene selection pass not working proporly for meshes rendered with recursive rendering. (#6520)

Fixing an issue with sub-surface scattering and updating screenshots

* fix typo (#6500)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor. (#6493)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor.

* Update changelog.

* Additional fix for regular inspector

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems. (#6480)

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems.

* Update changelog

* Removed wrongly serialized fields in StaticLightingSky (#6441)

* Removed unnecessarily serialized members in StaticLightingSky component.

* Update changelog

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045). (#6504)

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045).

* Small fix to avoid overlapping

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>

* Fix a compilation issue to to a backport that did not go well. (#9)

* Fixed a regression in the ray traced indirect diffuse due to the new probe system. (#31)

* Clamp probes compression factor to 0 (#19)

* Clamp to positive

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* path validation when creating new volume profile (#36)

* Validate whole path when creating new profile

* Changelog

Co-authored-by: pavlos.mavridis <pavlos.mavridis@unity3d.com>

* Alpha to coverage frame setting (#33)

* Added FrameSettingsField.AlphaToMask

* Changelog + Documentation

* Changed field index

* Axf - Add specaa, add baked ao, fix reflection hierarchy for carpaint. (#41)

* AxF: Add support for specular AA from geometric curvature.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* AxF: Fix a typo that caused a bug for SVBRDF materials using precise Fresnel variants to always use full reflectance (1) for delta lights.

* AxF: Fix ignored reflection hierarchy + proxy intersection for carpaint. Add comments about problems if two directions are differents. Also add an option (disabled for now) to have BRDFColor with base angle of dominant direction. Rename some variables to make clearer direction on top for bottom lobe.

* AxF: Use get scalar roughness function to factor out  code.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* Add changelog entries.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement constant buffers for HDRP global variables. (#52)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Fixed color/depth pyramid debug

* Cleanup

* Small fix

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Add Performance framework package and HDRP performance tests (#45)

* Added performance test project

* Added new test scene system and memory p[rofiling

* Added shader analysis package

* Create symlink folder in library directory

* Update editor window

* Update shader analysis selection

* Added CLI utility to execute shader analysis reports

* Added example for the cli

* Removed problematic HDRP graphic test packages

* Add xml file to avoid IL2CPP stripping issues with test runner on the performance test(#5903)

* Update memory profiling test sample count

* Update shader graph support

* Updated project settings

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Use background job API and improved progress reporting

* Empty commit for Performance reports

* Updated ui

* Empty commit for Performance reports

* Empty commit for Performance reports

* Added filter on shader pass and variants

* Added option to only generate shader variants

* Empty commit for Performance reports

* Increase garlic heap size

* Begin to add build profiling

* Added more build info

* Working version of the shader compilation time reporting

* wip

* Removed useless cli

* Added util functions to name test and sample groups

* Renamed all markers and finished the build profiling

* Update test framework package

* Updated shader analysis tests

* Updated API

* Updated API and log command for compiler

* Updated api

* Use unknown metric instead of time one as workaround

* Enable the CPU profiling API

* Fix when deleting an analyzed shader

* Load reference on enable

* Added shader analysis package

* Fixed PS4 test name

* Fixed memory unit

* Added more test scenes

* Force performance tests to run on PS4  base

* Fixed sample units and use the same SampleGroup for multiple frames in counter test

* Begin to create the graphic perf test

* Finished the first version of performance graphic test package

* Fixed build tests

* Increase static analysis timeout

* More timeout

* Removed Lit shader static analysis

* Fix counters tests

* Added performance settings window in project settings

* Re-add Forward build test scene

* Fixed shader analysis filter

* PR fixes

* Begin to write the doc

* Finished V1 of the performance package doc

* Added grafana image and doc description

* Updated doc

* Maybe fix yamayo tests

* Update documentation for static analysis

* Added note on core asmdef

* Removed debug

* Fixed total memory

* Added tesselation counters test

* Tessellation shadow test

* Added per scene settings

* Added naming convention doc

* Fixed build issue on yamato

* Compilation fix to revert

* Begin to write the new doc page

* Completed performance doc

* Fixed build test

* Added Lit in static analysis

* Removed deferred static analysis

Co-authored-by: Frédéric Vauchelles <fredericv@unity3d.com>
Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: FrancescoC-Unity <francescoc@unity3d.com>

* Hdrp/fix/custom pass msaa rendering info (#42)

* Add an info box to warn about depth test artifacts when rendering object twice in custom passes with MSAA

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Custom Pass AOV API  (#50)

* Very basic AOV support for custom pass

* Updated AOV API for custom passes

* Changelog

* Update AOV API

* API improvements

* API documentation

* API doc, factorize all push texture calls in RenderCustomPass

* added default values and constructor for CustomPassAOVBuffers

* fix merge conflicts

* Fix GC alloc during rendering: use a for loop instead of findIndex+lambda

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 2) (#87)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Minor adjustments to TAA anti flicker (#97)

* small adjust to taa antiflicker

* Changelog

* Add support for lighting decomposition debug mode (+ AOV) (#99)

* Add lighting decomposition debug mode

* fix compil issue with probe volumes

* Fix usage of debug exposure in debug mode

* Add Test 3001 + fix reflection when sky  only

* remode _DebugExposure after merge

* remode _DebugExposure after merge

* fix merge issue

* add exposure compensation to Fixed exposure mode

* Update ColorUtils.cs

* Fix MSAA resolve when there is no motion vectors (#1)

* Fix MSAA resolve when there is no motion vectors

* Update CHANGELOG.md

* Cleaned up code

* use multi_compile

* Added _

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix switch shader compilation (#111)

* DXR Automated tests shader graph optimizations (#116)

* Split 902 scene into 5 scenes + SG optimizations

* Deleting old image for splited scene

* Fix various leaks in HDRP. (#113)

* Fixed a number of leak in HDRP

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix compile error with XR SubsystemManager (#107)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update SceneViewDrawMode.cs (#118)

* Follow references when deleting unloading unused assets on shader graph save (case 1230996)  (#114)

* Follow references when unloading unneeded assets

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix culling of reflection probes that change position (#121)

* Fix culling of reflection probes that change position

* Avoid null reference

* Avoid null reference - try 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix null reference when processing light probe (#131)

* Hdrp/runtimetests/ps4 fix (#129)

* Redo branch. Upgrade to 2020.1.0b5, reduce texture res, new HDRP asset.

* Switch to HDRI, increase Garlic heap size to 4gb, turn on "Stop NaNs" on camera, decrease render target res.

* Fix issues causing planar probes to be broken with multiple cameras in the scene (#4)

* Set appropriate render datas before rendering cameras

* changelog

* update doc

* comment update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix black screen in XR when HDRP package is present but not used (#137)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader). (#18)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader).

* update ssr screenshot

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for rasterized area light shadows in StackLit + slight refactor (#39)

* Added support for rasterized area light shadows in StackLit. Also refactor code to avoid early return (compiler bug) and fix lux meter debug mode when anisotropy for area lights is enabled.

* Doc: remove note about area light shadows for stacklit. [skipci]

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update the scripting API for FrameSettings, FrameSettingsOverrideMask and IBitArray (#110)

* Fix for white flash happening when changing lighting condition (like teleport) (#140)

* fix

* Update PostProcessSystem.cs

* Update CHANGELOG.md

* Add some clamp to fp16 for case where we don't have a NaN killer pass like planar reflection

* Update CHANGELOG.md

* adress PR feedback

* Fix default volume profile collapse (#138)

* Only re-create the volume profile editor when the asset is changed

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Bind missing buffer (#159)

Bind buffer to make sure that something is bound

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* AxF fix: Use CALCULATE_TEXTURE2D_LOD macro for future cross platform compatibility (Metal) (#162)

* Fixed shader warning on Xbox for ResolveStencilBuffer.compute (#163)

* fix warning

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Texture-weighted automatic exposure (#165)

* Exposure weighted by texture

* miss one in the renaming

* Doc update

* changelog

* doc update

* fix issue when disabling override

* Update 3003_LightingMode.unity

* Optimizing light loop part 2 (#2)

* Saving 10% off the PrepareLightForGPU

* 18% decrease in cost with this

* Around 12% cost shaving off GetLightData

* Around 6.5% win here

* Faster View matrix flip

* Missing *=-1

* About 7% win in preprocess light data

* Another small batch

* Small cleanup for first optimization pass

* Tiny bit more cleanup

* Make UpdateShadowRequests 12% cheaper

* Address review points

* A bit less than 20% win in ExtractPointLightData

* Add comment

* changelog

* 25% reduction of ExtractPointLightData

* 18% win in UpdateShadowRequest

* Another around 11% win for UpdateShadowRequest

* Move matrix multiply utils to core

* less lighttype computation

* Ooops

* fixup changelog

* Proper merge

* Missing leftovers .

* I'll manage to submit it all one day...

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for POM for emissive map (#51)

* Add option to use Base UV Mapping for emission

* Graphic test and doc

* Changelog

* Screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* HDRP Compositor Tool (#57)

* HDRP compositor tool, first code drop

documentation typo, move everything in compositor namespace

documentation typo

bugfix: dynamically add/remove properties when shadergraph changes

UI bugfix: properly compute height of UI elements

Missing tooltips, button to remove the compositor

toggle layers now works when player is paused

add chroma keying in the compositor test

Changelog, workflow bugfix

Use Unity's built'in icons

AOV bugfixes

AOV tooltip was wrong

bugfix: disabling the compositor now disables all compositor cameras

Proper monitoring of shadergraph changes

Updated test image + minor changes

Use better names for internal cameras

Bugfix: selecting the same res for a layer

Bugfix: deleting in-use texture layers from shadergraph now works

Bugfix: setting AOV to none now works properly

Use the term SubLayer in the UI

Improve AOV tooltip

Camera properties in layers are properly refreshed

UI: Move checkbox for overrides on the left side of the label

Remove default compositor camera when also deleting the compositor

Bugfixes: no orphans (delete all children when removing a layer), saving the layer list now works again

Hdrp/docs/compositor (#6013)

* Added docs review

* Changed fodler for images

Bugfixe: deleting layers

Bugfix: reordering layers

Bugfix: creating a new compositor fails

Remove redundant check

Fix wrong tooltip

Bugfix when deleting camera stack layers

Bugfix: handle window resize

Bugfix: sub-layers without parent when re-ordering, preview remains visible for disabled layers

Bugfix: more robust re-ordering (also moves children)

Bugfix: mark scene dirty when adding a compositor

Bugfix: display warning when alpha is configured properly

Change video layer icon

Bugfix: adding a layer filter does not reset the UI state

Bugfix: do not show composition properties that are marked with hide-in-inspector

Better / more clean layer injection implementation

minor code clean up

Clear color mode should only be editable on the first layer of a stack

Bugfix: setup of custom render was not always called

Bugfix: make sure additional camera data always exist in the layer/compositor camera

Change test id to 9800

Fix typos

mark scene dirty when removing or disabling the compositor

Default composition shadergraph and profile are now cloned

Serialized objects are now properly updated

minor code change: range checks

bugfix: error message appears at beginning

remove layer list from the asset file

add default camera layer when creating the compositor

replace getter function with c-sharp property

update asset in unit test

* move compositor unit test images

* remove leftover code

* review feedback #1

* review feedback 2

* review feedback - custom clear shader

* fix variable names that don't affect serialization

* fix serialized variable names

* bugfix: image layers and camera stacking

* use enum utility functions

* Use multicompile in motion blur + bug fix

* Make some variables private

* Update Compositor-User-Guide.md

* Review feedback

* fix muticompile for motion blur without alpha

* Update to new constant buffer / shadergraph api

* Player test image for the compositor

* Properly fill camera entries for global constant buffer

* Fix after rebase / function rename

* Make bg red for better debugging qnd cqtch unity exception

* Disable compositor test until we fix it on yamato

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* PBR shader gbuffer ztest (#43)

* Fixed PBR shader rendering in deferred

* Updated changelog

* Enable Light Baking Cookies by default + Warning (#79)

* Enable

* Fix typo

* Importance Sampling Pipeline (#84)

* Multiple Importance Sampling for HDRI Sky (Ray Generation)

* backup

* Multiple helpers

* Add RTHandleDeleter (delay in K frame the Release of a RTHandle)
* Fix GPU Operation when texture are too small
* Helper to manager Mariginal Texture in general (Tex2D, Tex2DArray, CubeMap, CubemapArray), ...
* Helper manager to generate one marginal per slice mip (one per frame)

* backup

* Add SampleCubemapProjectionNode (Project cubemap to Geometry)

* delete useless files

* update

* Cube To LatLong for CubeArray

* Functional generation

* Integration on ray tracer step

* Store HDRI Integral

* .

* Integrate HDRI Sky

* Update Importance Sampling

* Update Algorithm with Hemisphere Path

* Backup

* Update merge

* Update Merge 001

* Update Merge 002

* Update Merge 003

* Update Merge 004

* Update Merge 005

* Update Merge 006

* Update Merge 007

* Cleanup

* Update Integration of HDRISky Upper Hemisphere

* Remove useless dump images on disk

* Fix change log issue

* backup

* Backup

* Pre-Clean

* Pre-Clean

* Clean Up - remove file

* Remove Debug Code

* Update

* Update ChangeLog

* Clean Up

* update

* Clean up

* Remove useless texture

* Fix CGAlloc + Default Litetime of a RTHandle on the "RTHandleDeleter"

* CleanUp

* remove useless comment

* Add variable (Atmospherical) + Rename/Comment

* Move parameter to CS, Clean & move to private RTHandleDeleter

* Revert "Importance Sampling Pipeline (#84)"

This reverts commit 835d6a45c15ec7cbebde2aa385134a780c363e11.

* Reducing the number of variants for ray tracing when building a player (#94)

* - Replaced the DIFFUSE_LIGHTING_ONLY multicompile by a uniform.
- Removed the dynamic lightmap multicompile.
- Remove the LOD cross fade multi compile for ray tracing.
- Added a ray tracing mode option in the HDRP asset that allows to override and shader stripping.

* fix merge

* Update LayeredLit.shader

* Update LayeredLit.shader

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 3003_LightingMode.unity

* Fix compil issue with Enable BakeCookie

* Enable Light Baking Cookies by default + Warning - part 3 #79

* Avoid building the mip chain a second time for SSR for transparent objects.  (#93)

* - Avoid building the mip chain a second time for SSR for transparent objects.

* Update ScreenSpaceReflections.compute

* fix merge issue

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Scalable volumetrics [skip ci] (#34)

* Adaptive sampling works

* Compute the PDF

* URL

* Fix stuff up (except for profile preview)

* Attempt to fix previews

* Fix transmission

* Support quality levels

* Clean shader

* Remove 2 kernels

* PURGE

* Automatically adjust the number of samples at runtime

* Changelog

* Spaaaaace

* Add comment

* Spaaaaaace

* Rename

* Update ref img 1215, 1216, 1217

* Revert "Update ref img 1215, 1216, 1217"

This reverts commit 9aeb1fee054bc0e8a24b76525eb4af5dc2316088.

* Robust filter radius

* Solve the NaN problem

* Save 1x VGPR

* Update SSS defaults

* Add migration steps

* Volume resolution WIP

* Shorter names FTW

* Comment

* Dynamic slice count works

* Dynamic res works

* Changelog

* Stretch the limits

* Fix bug (order matters)

* Comments

* Remove volumetric quality presets

* Changelog

* Reorder

* Solve the mystery of RTs going NULL

* More robust bad history detection

* Update test scenes for High Quality

* More bug fixes

* More accurate comment

* Do not reinvent the wheel

* Fix broken test 1351

* Attempt to migrate HQ SSS settings

* Remove all branches

* Optimize a bit

* 7x WF

* Fix the rounding error

* Fix the rounding error

* Remove garbage allocation

* Fix typos

* Copy the SSS value

* Revert HDRP asset changes

* Fix default UI value

* Pass the right asset

* Update ref img 1215

* update reference screenshots

* Update CHANGELOG.md

* Update CHANGELOG.md

* Switch to RTHandles

* Rename textures used by the fog filtering pass

* Fix reprojection

* Fix shader warning + typo+

* fix another shader warning

Co-authored-by: EvgeniiG <7ee2cc898cca1b5fc49df740c2081dfc681e0a28>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fixed runtime test for Yamato (#177)

* Revert "Hdrp/runtimetests/ps4 fix (#129)"

This reverts commit 6fa52ab66c77d12088114577573fb45edfb2baba.

* Update runtime test to use way less memory to be able to run on console

* Fixed screenshots and test

* Fix HDRP Wizard windows not compatible with "preview" package version (#178)

* Fix async compute throwing errors because of global constant buffers. (#130)

* Replaced commands incompatible with async compute in light list build process.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Diffusion Profile and Material references in HDRP materials are now correctly exported to unity packages. (#136)

* Added external references inside a material to diffusion profiles and materials in order to handle Material export to a package correctly.

* Update changelog

* Removed useless test

* Updated changelog message to add more info

* Refactoring to share the code for light list building better between probe volumes and lights. (#156)

* Refactoring to share the code for light list building better between probe volumes and lights.

* Remove commented code

* Fixed constant buffer update

* Fixed kernel used for cluster generation

* Fixed cluster kernel for oblique projection

* Restored a resize test for XR

* Removed unexpected Shuriken folder in Test Project

* Add range attenuation to box-shaped spotlights [Skip CI] (#101)

* Added range attenuation to box-shaped spotlights

* Update tests

* Update CHANGELOG.md

* Remove file duplication

* Added box range attenuation test

* Clarify documentation

* Update screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/decal transparent mip selection 1222437 (#96)

* Improve MIP selection for decals to transparent

* Add change logs

* Communize Helper (ComputeTextureLOD{Bias?}(...)

* Update

* Rename

* Comment

* fix white space and 0.f

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix cookie atlas alloc for cone spot lights (#187)

* Fix unneeded cookie texture allocation for cone stop lights

* Updated changelog

* Fix cone spot light cookie

* update template (#189)

* Hdrp/combine material samples with shader samples [Skip CI] (#117)

* Fix MaterialBalls having same guid issue

material samples and shader samples had the same prefabs with the same guids causing an issue when the guids are reassigned

* Merge material samples and shader samples

Merge shader samples into material samples

* Update scene visuals

update frame prefab with new visual style
update scene to suit visual style

* Fix spelling and grammatical errors

alterates -> alters - this one isn't technically an error but alterates isn't used in common English
oder -> order
accross -> across

* Create fabric scene

create scene and rendering settings

* Add fabric ball prefab with fabric mesh

Add fabric ball prefab with fabric mesh

* Add threadmaps to project

Add threadmaps to project

* Add materials to project

Add materials to project
Linen
Nylon
Satin
Velvet
Wool

* Add scenes for hair and fabric and create prefabs for lighting and hair display

Add scenes for hair and fabric
Create prefabs for lighting and hair display
Fix Decal prefab

* Update scene and fix errors with materials that don't use threadmaps

Update scene and fix errors with materials that don't use threadmaps

* Update fabric materials and textures

Update fabric materials and textures

* Clean up project and add additional materials

Add ShotSilk material
Modify materials
Rename textures
Cleanup changes
Add information to fabric scene

* Update and organize scenes

Update and organize scenes

* Update Fabric scene , fix spelling errors and change to american spelling

Update Fabric scene , fix spelling errors and change to american spelling

* Update information in fabric scene

* Update scene lighting

Update scene lighting

* Align lighting and rendering across scenes, remove old sample scene

Create prefabs for common elements
Change sky gradient
Remove unused settings
Remove old sample scene

* Update textures and meshes

Update denim color to tga file format to conform with other files
Update cloth mesh to have better normals
Update scene after changes to prefab

* Update cloth mesh

Update cloth mesh

* Update scene text and cloth mesh

Update scene text and cloth mesh

* Update Changelog

Update Changelog

* Fix bug with material ball and parallax occlusion mapping due to mesh tangents

Fix bug with material ball and parallax occlusion mapping due to mesh tangents

* Remove shader samples from package json and update material samples description

Remove shader samples from package json and update material samples description

* Update sample content documentation

* Update scene text

* Move files in mesh folder to appropriate folders and remove additional material ball prefab

* Add micro shadows

* Update 1301_StackLitSG.png

* Change guid reference in MaterialSamples scene

Co-authored-by: Sean Puller <sean.puller@unity3d.com>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* DisplayInfo attribute. (#172)

* Added DisplayInfo attribute for generic display info.

* Implemented volume parameter sorting for default inspector.

* Update changelog

* Named parameters for tuples in Volume Component Editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Compute Buffer management for render graph (#194)

* Added import and usage of Compute Buffer API to render graph.

* Missing clear of Compute buffer write/read lists.

* Another missing clear.

* Light loop compute buffers WIP

# Conflicts:
#	com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs
#	com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs

* Reverted Render Graph debug registering by default.

* Post merge fixes

* RenderPass debugger visualization and fixed null profiling sampler

* Missing using directive.

* Post merge fix

* Use new light list build ouptut for deferred lighting pass

* Use new light list build ouptut for contact shadow pass

* Use new light list build ouptut for volumetric passes

* Simplify the tooltip (#188)

* Added MovedFrom attribute (#182)

* Contact shadow min distance + fix scalarization code  (#150)

* Min distance

* editor update

* Update doc

* Changelog

* fix some ui issues

* Update docs according to UI changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* TAA docs update (#132)

* update docs

* pr review

* Added indentation as dashed

* Hdrp/deferred shadow quality multi compile (#5)

* shadow mask

* Changelog

* Have shadow quality as multi_compile

* make old API obsolete

* Update comment

* Comment on pre processor

* Update docs

* Change shader versions of deferred

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/path traced dof (#164)

* Path traced DoF implementation

* Move focus distance from volume to physical camera

* Small fixes

* Small fixes in math

* Small fixes in math 2

* Compile error

* Make new functions private

* Cosmetic changes

* Move viewport matrix function to utils

* Keep focus distance in the volume

* Do not enable in scene view camera

* Changelog

* Review feedback

* Use scale and bias instead of matrix mul for the viewport transform

* Bugfix: post process DoF should still be executed for non-physical mode

* Typo

* avoid null reference when physical params is null

* remove redundant check

* Update HDRenderPipelineAsset.asset (#210)

* Fixed volume debug menu in playmode (#149)

* Refresh widgets in play mode. Added doc. Reduced refresh rate

* Changelog

* Added some code doc

* Fix refresh rate and scroll over hidden volumes in play mode

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added a new test scene for physical camera DoF in Pathtracer (#211)

* Fixed issue when toggling anything in HDRP asset that will produce an error (case 1238155) (#215)

* fix bug 1238155

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* Update HDRenderPipelineAsset.cs

* Fix warning in PCSS code when using Vulkan (#229)

* Fix warning

* changelog

* Fix decal register + obsolete cookie API (#195)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Fix decal shader

* Fixed HDRP cookie

* Update HDLightUI.cs

* correctly fix decal

* Update CHANGELOG.md

* Update ColorAdjustments.cs

* Update ShaderVariablesDecal.hlsl

* fix compil on 2020.1

* Update HDRP_Test_Def.asset

* add test for 3RT decal

* update decal test

* Do shadow code cleanup + Fix Yamato after PR #5 Multi compile shadow (#244)

* Do code cleanup + bugfix shadow

* Update Upgrading-from-2020.1-to-2020.2.md

* Update LightLoopDef.hlsl

* Fixed issues with path traced SSS and accumulation. (#257)

* Add missing documentation for AOV API params (#254)

* Hdrp/public static sky (#253)

* Made the static lighting sky public so that users can change it by script for baking purpose.

* Update changelog

* Update HDAdditionalLightData.Migration.cs (#269)

* Add missing docs attributes (#271)

* Fixed an error about procedural sky being logged by mistake. (#273)

* Fixed an error about procedural sky being logged by mistake.

* Update changelog

* Fix quality settings UI and shadow mask UI (#122)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* fix typo

* fix typo 2

* Updated raytracing async compute warning. (#274)

* Made more explicit the warning about raytracing and asynchronous compute. Also fixed the condition in which it appears.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a null ref exception in static sky when the default volume profile is invalid. (#278)

* Fixed a null ref exception in static sky when the default volume profile is invalid.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added SubScenes cache to be compatible with HDRP/staging (#287)

* Update 2002_Light_DynamicMix.unity (#292)

* Update HDCubemapInspector.cs (#296)

* increase tolerance for test 5008 in VR due to recent changes (#311)

* Upate screenshot for HDRP DXR Test (#312)

* Fix SSS code doc (#319)

* Fix issue with screen-space shadows not enabled with RT off (#139)

* Fix issue with screen_space shadows not enabled with RT off

* Proper fix: only keep directional screen space shadows with RT off

* Fix shadow debug mode

* cosmetic changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a performance issue with stochastic ray traced area shadows. (#300)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix bad merge of the light loop optimization PR (an optimization was undone) (#321)

* Don't compute light type

* Typo

* Camera override API (#170)

* Added the API to override camera rendering

* Updated changelog

* Fixed compilation issue

* Factorized protection function

* Fixed camera override in scene view

* Added isPersistant bool in HDCamera and allocateHistoryBuffers param in Update

* Fixed camera override with dynamic resolution and moved it to internal

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix cookie srgb (#297)

* Fixed srgb flag not updating the cookie atlas

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix flickering lighting in the scene and game view when lookdev is open. (#290)

* Fixed flickering of the game/scene view when lookdev is running.

* Update changelog.

* Added a function to reset the reference size of RTHandle systems. (#299)

* Added a function (HDRenderPipeline.ResetRTHandleReferenceSize) to reset the reference size of RTHandle systems.

* Update changelog

* Fix issue with ambient probe not being correct with OnEnable/OnDemand probes (#291)

* render until ambient probe is ready

* changelog

* remove comment

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix Motion Vectors written by transparent when rendering with MSAA (#315)

* Add resolve if needed of transparent movec

* rename

* rendergraph

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/reflection probe scale perf (#252)

* Use IEnumerable as interface for HDProbeSystem

* Added a perf test for probe registration

* Use HashSet instead of List to store HDProbes

* Updated planar reflection to use a HashSet

* Updated changelog

* Fix invalid length check

* Fixed build of planar probe array

* Fixed GC alloc issue

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* [9.x.x] Axf measurements into tilings (#289)

* AxF: Add support for physical material measurements import into tiling values (new importer feature) per texture resource. Also add offset support.
On the importer side, an assumption of a unit of tangent space embedded in world space being 1 meter is used. For easier adjustments, all values are relative to a "Main Tiling" for the material.
This removes old materialU/V tiling and flakes tiling (AxF is still in preview though).
Update test scene to move old tiling property values into new properties so results don't change.
Update documentation.

* AxF measurements into tilings: Add changelog entry.

* AxF tilings - Fix typo that could set wrong specular lobe and coat normal tilings.

* Update the AlphaToMask test for AxF.

* Update all other editor and player platform references to match.

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* fix 9402screenshots on vulkan

* Update HDRP graphic test framework with Test Broken / TestFilter script (#393)

* Update hdrp testing framework

* Update hdrp testing framework 2

* Update TestFilterGenerator.cs

* revert change on shader graph

* Hd/add layer modification on generated emissive mesh for area light (#364)

* Add Layer modification of EmissiveMesh generated by area light

Add Layer handling on Generated Emissive Mesh

* Update CHANGELOG.md

* Add "same as Light" hability for layer and make it default

* Add destruction on move in hierarchy and retrieve existing to secure the NotEditable

* Add sync on Static too

* Also the copy the static drop down

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Disable async compute for D3D12 [Hold] (#301)

* disable async on d3d12

* Change doc

* Hd/fix nullref while removing decal component (#416)

* fix nullref on DecalComponent removed from contextual menu

* Update CHANGELOG.md

* Added a flow map parameter to HDRI Sky (#44)

* Added uv distorsion for HDRISky cubemap

* Editable flow strength

* Better parameter name. Smooth flow on cube edges

* Added a graphic test. Updated Changelog

* Updated documentation

* Added screenshots

* Wait frames for test

* Wait more

* Update screenshots again...

* Static test

* Static screenshots

* use multi_compile

* Renamed all parameters

* Procedural distortion

* Update doc

* Set all keywords

* Revert to old behaviour

* doc

* update test

* remove useless variable

* doc

* Fix lat long and procedural flow

* replace trig functions. Correct wind dir

* Dropdown and upper hemisphere fix

* Updated doc

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue with Uber Post process shader when alpha is enabled (#422)

* Fix issue with alpha being over 1 hence, leading to the final color being boosted due to alpha handling

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* replace fbx by the one from URP with no import errors (#427)

* Fix the bug (#430)

* Fix issue with corrupted values with Layer Lit when using multiply mode for vertex color (#418)

* Saturate vertex color to avoid negative values.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Renamed variables (#436)

* Fix issue with the resolve of motion vectors (#421)

* Hd/fix targets used in ongui in decalcomponent (#413)

* Fix Reset not resetting to default

* Delay MaterialEditor recreation to when possible

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implemented ray traced reflections for transparent objects. (#47)

* Implementation of ray traced reflections for transparent objects

* fix issue with ShowPrePassAndPostPass

* Change label for transparent SSR + change default value to false

* fix material not setup properly

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix custom pass graphic tests (#359)

* FIxed fullscreen custom pass test and re-enabled draw-renderers custom pass test

* Replaced canvas by a quad (more stable for graphic test)

* disable vulkan test as it is failing, need investigation

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Save scene-view camera settings in Editor prefs (#440)

* Sceneview camera settings are now saved in Editor prefs

* cosmetic changes

* add comment

* Small refactor to allow easily adding more prefs in the future

* fix comment

* fix comment 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue when switching back to custom sensor type in physical camera (#417)

* Fix issue when switching back to custom sensor type in physical camera

* make if comparison more explicit

* make if comparison more safe

* Per-camera history for the custom settings using a static dictionary

* Use ConditionalWeakTable instead of a Dictionary to avoid keeping alive deleted cameras

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix a null ref exception when running playmode tests  (#360)

* fix a null ref exception when running playmode tests with the render pipeline debug window opened

* use empty array

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed some gcalloc in the debug window (#445)

* Fixed some GCAlloc in the debug window

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update reference screenshot dx12

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617) (#443)

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617)

* Fix an issue with thin refraction SG and updating screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Create Shaders.meta

* Hdrp/small ui update (#423)

* Removed logic in the UI to disable parameters for contact shadows and fog volume components as it was going against the concept of the volume system.

* Update changelog.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update settings for DXR

* Update SetToCameraNearPlane.cs

* Add an option to disable shadow bias

* Don't query cull results if we don't have them (#449)

* test with a guard

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update screenshot (#463)

* Disable test HDRP_GraphicTestRunner.8105_BlendStates_b on DX12

* Update TestCaseFilters.asset

* Revert "Disable async compute for D3D12 [Hold] (#301)" (#469)

This reverts commit dc35b61d1d19ad1b363b8fbb582a076014e84b16.

* Revert "Add an option to disable shadow bias"

This reverts commit 2dfeab269baab914fd541f8fa358463d38334f6c.

* PBR Sky renderer now shares its internal precomputation table between different instances. (#250)

* PBR Sky renderer now shares its internal precomputation table between different instances.

* Update changelog

* Doc update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Makes sure quaternion is normalized and valid before converting to ma… (#331)

* Makes sure quaternion is normalized and valid before converting to matrix.

* Updated Changelo.

* Revert "Updated Changelo."

This reverts commit 60e65b50f3ab7fc241556e1c8f46b680defe36e2.

* Update CHANGELOG.md

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* New tooltip for camera background and fixed exposure when switching the background mode. (#415)

* Put more information in Camera background type tooltip and fixed inconsistent exposure behavior when changing bg type.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue causing not all baked reflection probes to be deleted  (#441)

* Clear the queue once filled up and push elements that failed to be pushed.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed asset preview being rendered white because of static lighting sky. (#462)

* Fixed an issue where asset preview could be rendered white because of static lighting sky.

Also fixed an issue where static lighting was not updated when removing the static lighting sky profile.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed null reference exception in LookDev when setting the SRP to None (#447)

* Fixed null reference exception in LookDev when setting the SRP to None

* Review feedback

* Review feedback 2

* Fix show cookie atlas debug mode (#475)

* Fix the show cookie atlas debug mode not displaying correctly

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Enable DXR playmode test (#472)

* Update upm-ci-hdrp_dxr.yml

* add hdrp dxr playmode test to all hdrp ci

* Update upm-ci-hdrp.yml

* Update upm-ci-hdrp.yml

* change planar atlas size to 1024

* Update upm-ci-hdrp.yml

* Update 802_SubSurfaceScatteringForward.png

* update scene

* update 5001 lighting

* fix exposure for 5001 path tracing test

* update player screenshots

* disable 5001 path tracing as it fail on yamato

* Fix few multi-editing issues with Emission UI (#473)

* Working but not nice

* Remove unecessary cruft

* tiny changes

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Re-enable cubemap thumbnail gen only for d3d11 (#487)

* re-enable thumbnail gen only for d3d11

* Update changelog

* try enable metal

* Update changelog and comment

* Check reflection probe null pointer before use. (case 1244047) (#456)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Remove max atlas probe alloc size in HDRP asset (#458)

* Fixed max alloc planar size not taking in account the max cache size

* Removed the max cache clamp on texture atlases

* Hd/fix undo environmentlibrary lookdev (#490)

* fix undo redo for environment library

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix vulkan test

* SSGI Implementation (#95)

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Change Sky in 5001 PT Test to HDRI Sky + update image (#502)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 802_SubSurfaceScatteringForward.unity

* fix vulkan warring and wrong meta

* Update upm-ci-hdrp.yml

* Fix merge issue with Test filter

* Use path relative to package for depth of field  (#523)

* Use absolute paths for dof include

* changelog

* Fix Light overlap (#444)

* Added the light overlap volume code

* Updated changelog

* Made outline thinner and removed the semi-transparent color of the light shape in light overlap debug mode

* Fixed documentation

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed API breakage. (#524)

* [Docs] Add missing documentation for Accumulation, AOVs, path-traced DoF (#532)

* AOV documentation

* minor change in the comments

* Accumulation documentation

* minor improvements

* Rewrite the AOV script. Now it is stand-alone.

* Typo

* Add path traced DoF documentation

* Reviewed AOV doc

* Reviewed accumulation doc

* Reviewed path-traced dof doc

* Add missing OnDestroy in example script

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>

* Restore some XR HDRP tests (#382)

* restored XR tests

* revert and split changes for temporal effects in another branch

* fix XR tests using volumetrics

* 8103 is still acting randomly

* try to set timeout to 30s to confirm it's working

* set timeout to 5 min per test for HDRP instead of default 3 min

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix taaFrameIndex and restore TAA tests for XR (#534)

* fix taaFrameIndex and temporal effects with the test suite

* increase waitFrames to 64 on the TemporalAA test scenes and enable XR compatibilty

* update ref images

* set waitFrames for HDRP runtime test scene

* reset camera before waiting

* update reference images from Yamato

* revert change to 001-HDTemplate

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255) (#488)

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255)

* Add missing inverse exposure multiplier

* Add support for batchmode (#542)

* Update 9301_MotionVectorsOff-Forward-Dynamic.png

* Fix custom pass prefabs (#419)

* Fix custom pass integration with prefabs

* Updated changelog

* Fixed prefab highlight not updated when adding/removing custom passes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Correctly dealloc/realloc resources when switching RenderGraph on and off. (#328)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* Reverted volumetric lighting changes and now render graph version uses the shared textures.

* Clone in the Asset folder when the original volume profile is in a re… (#508)

* Clone in the Asset folder when the original volume profile is in a read only package. (case 1154961)

* Added changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Adding code for history rejection for SSGI and adding a disabled test that should be used (test framework doesn't support) (#529)

* Custom Pass API (part 1) (#155)

* Begin to write the new custom pass API

* Begin to add custom pass utils shader

* Begin to add custom pass API test scenes

* Fixes for the Gaussian blur of the custom pass API

* Fix blur release

* Added custom pass copy test and fixed blur

* Added more custom pass documentation

* Added custom pass API graphic test reference image

* Added more obsolete things

* fix function visibility

* Updated changelog

* Added custom pass API test scene

* Fixed custom pass API doc

* Moved obsolete execute function into the new one

* Updated custom clear pass to use the new API

* Updated custom pass API test reference image

* update reference screenshots

* Fixed various scale issues in the blur custom pass API and updated reference screenshot

* Disable custom pass API test because it's unstable

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 3) (#98)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Converted raytracing lightloop variables to constant buffer.

* Converted RayTracing global variables to constant buffer.

* Removed obsolete comment

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Post merge fix

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Post merge fix

* Removed useless constant

* Crash fix

* Post merge fix

* Update 501_RecursiveRendering.png

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Hd/fix wizard defaultvolumeprofile creation (#565)

* Fix Wizard check on default volume profile

* Update CHANGELOG.md

* Small TAA Anti-flicker changes (#555)

* tweaks

* Change default so that is just high quality.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix central depth sampling in TAA (#564)

* Fix sampling of central depth

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Render Graph Async Compute (#552)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* WIP: refactoring of render graph compilation and resource allocation to prepare for async dependencies.

* Implementation of async resource synchronization.

* Fixed synchronization (only partial fix)

* Added default profiling sampler for render graph passes not providing one.

* Async WIP

* Fixed async synchronization by extending lifetime of resources freed during async pass to the first graphics task that wait for async.

* Post merge fix

* Cleanup

* Removed comment.

* Disabled async contact shadows again.

* Small cleanup

* Change exposure compensation in the default volume profile…
alelievr pushed a commit that referenced this pull request May 25, 2020
* Refreshed the GUIDs for additional post processing data to avoid conflicts with PPv2 (#6394)

* First pass of light loop optimizations (still single threaded) (#6367)

* Saving 10% off the PrepareLightForGPU

* 18% decrease in cost with this

* Around 12% cost shaving off GetLightData

* Around 6.5% win here

* Faster View matrix flip

* Missing *=-1

* About 7% win in preprocess light data

* Another small batch

* Small cleanup for first optimization pass

* Tiny bit more cleanup

* Address review points

* Add comment

* changelog

* Shadow cascade tooltip fix (when using the metric mode) (#6448)

* fix tooltip and public API about shadow cascades

* minor modifications in the text

* Add default tooltips

* Add assert in case we support more cascades in the future

* Minor text edit

* Changlog

* Updated tooltip text

* update TAA screenshots

* Disable POM test and update ref images (#6445)

* Focus on Decal uses the extends of the projectors (#6449)

* Added Alpha To Mask for HDRP and ShaderGraph (#6297)

* Added AlphaToMask render state

* AlphaToMask

* AlphaToMask test

* Updated changelog

* Updated LayeredLit and AxF test

* Added reference images

* Fix depth and motion vector passes for Unlit

* AlphaToMask doc. Unified doc and fixed links for Alpha Clipping

* Updated reference screenshots

* Update CHANGELOG.md

* Fix motion vector settings for test scenes

* Block AlphaToMask state in deferred or not MSAA. Updated test screenshots

* Fix MRT blend state

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Move scene view camera settings to camera settings window (#6390)

* Move the HDRP scene view settings to the Editor camera settings widget

* Changelog + tooltips

* update upgrade guide

* fix spelling

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed how the area light influence volume is computed to match rasterization. (#6454)

* - Fixed how the area light influence volume is computed to match rasterization.

* Fix issue in the axis order

* Update DebugDisplay.cs (#6467)

* Fix shadow tesselation culling (#6477)

* Fix custom pass culling params

* Fixed shadow tessellation culling

* revert custom pass code

* Adding 5 automated test scenes (#6483)

* Sharing more code for light data building (RT) and building a more optimal atlas (#6370)

* - Sharing GetLightData code between rasterization and ray tracing to avoid duplication and lack of features
- Inject all lights at the same time (rasterization and ray tracing) into the cookie atlas to avoid waste of space.
- Added a test scene to make sure it works properly

* correcting debug mistake

* Forgot to add the screenshot and to enable the test in the editor build settings

* - Fixed usage of light size data that are not available at runtime. (#6489)

* Hdrp /lookdev ui fixes (#6491)

* Fix no environment text wraping

* Add missing toolbar tooltips

* Fix camera button-dropdown layout

* Fix uss loss at domain reload

* Update CHANGELOG.md

* Fix custom pass depth copy (#6484)

* Fixed the depth buffer copy made before custom pass after opaque and normal injection point

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Changed the diffusion profile warning on the material to an info and changed the message to be more precise. (#6479)

* Fix issue with baked reflection probes constantly marked as dirty with auto-bake on (#6473)

* Use different hash to prevent the perennial dirtying of baked probes.

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp /fix drag area width at left of light intensity (#6471)

* Fix drag area width at left of light's intensity

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp /fix reset of HDAdditionalLightData (#6453)

* fix type resolving issue when reseting HDAdditionalLightdata

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Add option to disable XR rendering on the camera settings (#6372)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix unused leftover (#6497)

* Split HDRP Test scene 1900 in two scene (#6498)

* Fix custom pass test reference images (#6512)

* Updated ref image for PT fog test (5005). (#6513)

* Review corrections for previous PR (#6494)

* Fixed an usage of a a compute buffer not bound (1229964) (#6476)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed scene selection pass not working proporly for meshes rendered with recursive rendering. (#6520)

Fixing an issue with sub-surface scattering and updating screenshots

* fix typo (#6500)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor. (#6493)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor.

* Update changelog.

* Additional fix for regular inspector

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems. (#6480)

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems.

* Update changelog

* Removed wrongly serialized fields in StaticLightingSky (#6441)

* Removed unnecessarily serialized members in StaticLightingSky component.

* Update changelog

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045). (#6504)

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045).

* Small fix to avoid overlapping

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>

* Fix a compilation issue to to a backport that did not go well. (#9)

* Fixed a regression in the ray traced indirect diffuse due to the new probe system. (#31)

* Clamp probes compression factor to 0 (#19)

* Clamp to positive

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* path validation when creating new volume profile (#36)

* Validate whole path when creating new profile

* Changelog

Co-authored-by: pavlos.mavridis <pavlos.mavridis@unity3d.com>

* Alpha to coverage frame setting (#33)

* Added FrameSettingsField.AlphaToMask

* Changelog + Documentation

* Changed field index

* Axf - Add specaa, add baked ao, fix reflection hierarchy for carpaint. (#41)

* AxF: Add support for specular AA from geometric curvature.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* AxF: Fix a typo that caused a bug for SVBRDF materials using precise Fresnel variants to always use full reflectance (1) for delta lights.

* AxF: Fix ignored reflection hierarchy + proxy intersection for carpaint. Add comments about problems if two directions are differents. Also add an option (disabled for now) to have BRDFColor with base angle of dominant direction. Rename some variables to make clearer direction on top for bottom lobe.

* AxF: Use get scalar roughness function to factor out  code.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* Add changelog entries.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement constant buffers for HDRP global variables. (#52)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Fixed color/depth pyramid debug

* Cleanup

* Small fix

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Add Performance framework package and HDRP performance tests (#45)

* Added performance test project

* Added new test scene system and memory p[rofiling

* Added shader analysis package

* Create symlink folder in library directory

* Update editor window

* Update shader analysis selection

* Added CLI utility to execute shader analysis reports

* Added example for the cli

* Removed problematic HDRP graphic test packages

* Add xml file to avoid IL2CPP stripping issues with test runner on the performance test(#5903)

* Update memory profiling test sample count

* Update shader graph support

* Updated project settings

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Use background job API and improved progress reporting

* Empty commit for Performance reports

* Updated ui

* Empty commit for Performance reports

* Empty commit for Performance reports

* Added filter on shader pass and variants

* Added option to only generate shader variants

* Empty commit for Performance reports

* Increase garlic heap size

* Begin to add build profiling

* Added more build info

* Working version of the shader compilation time reporting

* wip

* Removed useless cli

* Added util functions to name test and sample groups

* Renamed all markers and finished the build profiling

* Update test framework package

* Updated shader analysis tests

* Updated API

* Updated API and log command for compiler

* Updated api

* Use unknown metric instead of time one as workaround

* Enable the CPU profiling API

* Fix when deleting an analyzed shader

* Load reference on enable

* Added shader analysis package

* Fixed PS4 test name

* Fixed memory unit

* Added more test scenes

* Force performance tests to run on PS4  base

* Fixed sample units and use the same SampleGroup for multiple frames in counter test

* Begin to create the graphic perf test

* Finished the first version of performance graphic test package

* Fixed build tests

* Increase static analysis timeout

* More timeout

* Removed Lit shader static analysis

* Fix counters tests

* Added performance settings window in project settings

* Re-add Forward build test scene

* Fixed shader analysis filter

* PR fixes

* Begin to write the doc

* Finished V1 of the performance package doc

* Added grafana image and doc description

* Updated doc

* Maybe fix yamayo tests

* Update documentation for static analysis

* Added note on core asmdef

* Removed debug

* Fixed total memory

* Added tesselation counters test

* Tessellation shadow test

* Added per scene settings

* Added naming convention doc

* Fixed build issue on yamato

* Compilation fix to revert

* Begin to write the new doc page

* Completed performance doc

* Fixed build test

* Added Lit in static analysis

* Removed deferred static analysis

Co-authored-by: Frédéric Vauchelles <fredericv@unity3d.com>
Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: FrancescoC-Unity <francescoc@unity3d.com>

* Hdrp/fix/custom pass msaa rendering info (#42)

* Add an info box to warn about depth test artifacts when rendering object twice in custom passes with MSAA

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Custom Pass AOV API  (#50)

* Very basic AOV support for custom pass

* Updated AOV API for custom passes

* Changelog

* Update AOV API

* API improvements

* API documentation

* API doc, factorize all push texture calls in RenderCustomPass

* added default values and constructor for CustomPassAOVBuffers

* fix merge conflicts

* Fix GC alloc during rendering: use a for loop instead of findIndex+lambda

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 2) (#87)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Minor adjustments to TAA anti flicker (#97)

* small adjust to taa antiflicker

* Changelog

* Add support for lighting decomposition debug mode (+ AOV) (#99)

* Add lighting decomposition debug mode

* fix compil issue with probe volumes

* Fix usage of debug exposure in debug mode

* Add Test 3001 + fix reflection when sky  only

* remode _DebugExposure after merge

* remode _DebugExposure after merge

* fix merge issue

* add exposure compensation to Fixed exposure mode

* Update ColorUtils.cs

* Fix MSAA resolve when there is no motion vectors (#1)

* Fix MSAA resolve when there is no motion vectors

* Update CHANGELOG.md

* Cleaned up code

* use multi_compile

* Added _

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix switch shader compilation (#111)

* DXR Automated tests shader graph optimizations (#116)

* Split 902 scene into 5 scenes + SG optimizations

* Deleting old image for splited scene

* Fix various leaks in HDRP. (#113)

* Fixed a number of leak in HDRP

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix compile error with XR SubsystemManager (#107)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update SceneViewDrawMode.cs (#118)

* Follow references when deleting unloading unused assets on shader graph save (case 1230996)  (#114)

* Follow references when unloading unneeded assets

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix culling of reflection probes that change position (#121)

* Fix culling of reflection probes that change position

* Avoid null reference

* Avoid null reference - try 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix null reference when processing light probe (#131)

* Hdrp/runtimetests/ps4 fix (#129)

* Redo branch. Upgrade to 2020.1.0b5, reduce texture res, new HDRP asset.

* Switch to HDRI, increase Garlic heap size to 4gb, turn on "Stop NaNs" on camera, decrease render target res.

* Fix issues causing planar probes to be broken with multiple cameras in the scene (#4)

* Set appropriate render datas before rendering cameras

* changelog

* update doc

* comment update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix black screen in XR when HDRP package is present but not used (#137)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader). (#18)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader).

* update ssr screenshot

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for rasterized area light shadows in StackLit + slight refactor (#39)

* Added support for rasterized area light shadows in StackLit. Also refactor code to avoid early return (compiler bug) and fix lux meter debug mode when anisotropy for area lights is enabled.

* Doc: remove note about area light shadows for stacklit. [skipci]

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update the scripting API for FrameSettings, FrameSettingsOverrideMask and IBitArray (#110)

* Fix for white flash happening when changing lighting condition (like teleport) (#140)

* fix

* Update PostProcessSystem.cs

* Update CHANGELOG.md

* Add some clamp to fp16 for case where we don't have a NaN killer pass like planar reflection

* Update CHANGELOG.md

* adress PR feedback

* Fix default volume profile collapse (#138)

* Only re-create the volume profile editor when the asset is changed

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Bind missing buffer (#159)

Bind buffer to make sure that something is bound

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* AxF fix: Use CALCULATE_TEXTURE2D_LOD macro for future cross platform compatibility (Metal) (#162)

* Fixed shader warning on Xbox for ResolveStencilBuffer.compute (#163)

* fix warning

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Texture-weighted automatic exposure (#165)

* Exposure weighted by texture

* miss one in the renaming

* Doc update

* changelog

* doc update

* fix issue when disabling override

* Update 3003_LightingMode.unity

* Optimizing light loop part 2 (#2)

* Saving 10% off the PrepareLightForGPU

* 18% decrease in cost with this

* Around 12% cost shaving off GetLightData

* Around 6.5% win here

* Faster View matrix flip

* Missing *=-1

* About 7% win in preprocess light data

* Another small batch

* Small cleanup for first optimization pass

* Tiny bit more cleanup

* Make UpdateShadowRequests 12% cheaper

* Address review points

* A bit less than 20% win in ExtractPointLightData

* Add comment

* changelog

* 25% reduction of ExtractPointLightData

* 18% win in UpdateShadowRequest

* Another around 11% win for UpdateShadowRequest

* Move matrix multiply utils to core

* less lighttype computation

* Ooops

* fixup changelog

* Proper merge

* Missing leftovers .

* I'll manage to submit it all one day...

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for POM for emissive map (#51)

* Add option to use Base UV Mapping for emission

* Graphic test and doc

* Changelog

* Screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* HDRP Compositor Tool (#57)

* HDRP compositor tool, first code drop

documentation typo, move everything in compositor namespace

documentation typo

bugfix: dynamically add/remove properties when shadergraph changes

UI bugfix: properly compute height of UI elements

Missing tooltips, button to remove the compositor

toggle layers now works when player is paused

add chroma keying in the compositor test

Changelog, workflow bugfix

Use Unity's built'in icons

AOV bugfixes

AOV tooltip was wrong

bugfix: disabling the compositor now disables all compositor cameras

Proper monitoring of shadergraph changes

Updated test image + minor changes

Use better names for internal cameras

Bugfix: selecting the same res for a layer

Bugfix: deleting in-use texture layers from shadergraph now works

Bugfix: setting AOV to none now works properly

Use the term SubLayer in the UI

Improve AOV tooltip

Camera properties in layers are properly refreshed

UI: Move checkbox for overrides on the left side of the label

Remove default compositor camera when also deleting the compositor

Bugfixes: no orphans (delete all children when removing a layer), saving the layer list now works again

Hdrp/docs/compositor (#6013)

* Added docs review

* Changed fodler for images

Bugfixe: deleting layers

Bugfix: reordering layers

Bugfix: creating a new compositor fails

Remove redundant check

Fix wrong tooltip

Bugfix when deleting camera stack layers

Bugfix: handle window resize

Bugfix: sub-layers without parent when re-ordering, preview remains visible for disabled layers

Bugfix: more robust re-ordering (also moves children)

Bugfix: mark scene dirty when adding a compositor

Bugfix: display warning when alpha is configured properly

Change video layer icon

Bugfix: adding a layer filter does not reset the UI state

Bugfix: do not show composition properties that are marked with hide-in-inspector

Better / more clean layer injection implementation

minor code clean up

Clear color mode should only be editable on the first layer of a stack

Bugfix: setup of custom render was not always called

Bugfix: make sure additional camera data always exist in the layer/compositor camera

Change test id to 9800

Fix typos

mark scene dirty when removing or disabling the compositor

Default composition shadergraph and profile are now cloned

Serialized objects are now properly updated

minor code change: range checks

bugfix: error message appears at beginning

remove layer list from the asset file

add default camera layer when creating the compositor

replace getter function with c-sharp property

update asset in unit test

* move compositor unit test images

* remove leftover code

* review feedback #1

* review feedback 2

* review feedback - custom clear shader

* fix variable names that don't affect serialization

* fix serialized variable names

* bugfix: image layers and camera stacking

* use enum utility functions

* Use multicompile in motion blur + bug fix

* Make some variables private

* Update Compositor-User-Guide.md

* Review feedback

* fix muticompile for motion blur without alpha

* Update to new constant buffer / shadergraph api

* Player test image for the compositor

* Properly fill camera entries for global constant buffer

* Fix after rebase / function rename

* Make bg red for better debugging qnd cqtch unity exception

* Disable compositor test until we fix it on yamato

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* PBR shader gbuffer ztest (#43)

* Fixed PBR shader rendering in deferred

* Updated changelog

* Enable Light Baking Cookies by default + Warning (#79)

* Enable

* Fix typo

* Importance Sampling Pipeline (#84)

* Multiple Importance Sampling for HDRI Sky (Ray Generation)

* backup

* Multiple helpers

* Add RTHandleDeleter (delay in K frame the Release of a RTHandle)
* Fix GPU Operation when texture are too small
* Helper to manager Mariginal Texture in general (Tex2D, Tex2DArray, CubeMap, CubemapArray), ...
* Helper manager to generate one marginal per slice mip (one per frame)

* backup

* Add SampleCubemapProjectionNode (Project cubemap to Geometry)

* delete useless files

* update

* Cube To LatLong for CubeArray

* Functional generation

* Integration on ray tracer step

* Store HDRI Integral

* .

* Integrate HDRI Sky

* Update Importance Sampling

* Update Algorithm with Hemisphere Path

* Backup

* Update merge

* Update Merge 001

* Update Merge 002

* Update Merge 003

* Update Merge 004

* Update Merge 005

* Update Merge 006

* Update Merge 007

* Cleanup

* Update Integration of HDRISky Upper Hemisphere

* Remove useless dump images on disk

* Fix change log issue

* backup

* Backup

* Pre-Clean

* Pre-Clean

* Clean Up - remove file

* Remove Debug Code

* Update

* Update ChangeLog

* Clean Up

* update

* Clean up

* Remove useless texture

* Fix CGAlloc + Default Litetime of a RTHandle on the "RTHandleDeleter"

* CleanUp

* remove useless comment

* Add variable (Atmospherical) + Rename/Comment

* Move parameter to CS, Clean & move to private RTHandleDeleter

* Revert "Importance Sampling Pipeline (#84)"

This reverts commit 835d6a45c15ec7cbebde2aa385134a780c363e11.

* Reducing the number of variants for ray tracing when building a player (#94)

* - Replaced the DIFFUSE_LIGHTING_ONLY multicompile by a uniform.
- Removed the dynamic lightmap multicompile.
- Remove the LOD cross fade multi compile for ray tracing.
- Added a ray tracing mode option in the HDRP asset that allows to override and shader stripping.

* fix merge

* Update LayeredLit.shader

* Update LayeredLit.shader

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 3003_LightingMode.unity

* Fix compil issue with Enable BakeCookie

* Enable Light Baking Cookies by default + Warning - part 3 #79

* Avoid building the mip chain a second time for SSR for transparent objects.  (#93)

* - Avoid building the mip chain a second time for SSR for transparent objects.

* Update ScreenSpaceReflections.compute

* fix merge issue

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Scalable volumetrics [skip ci] (#34)

* Adaptive sampling works

* Compute the PDF

* URL

* Fix stuff up (except for profile preview)

* Attempt to fix previews

* Fix transmission

* Support quality levels

* Clean shader

* Remove 2 kernels

* PURGE

* Automatically adjust the number of samples at runtime

* Changelog

* Spaaaaace

* Add comment

* Spaaaaaace

* Rename

* Update ref img 1215, 1216, 1217

* Revert "Update ref img 1215, 1216, 1217"

This reverts commit 9aeb1fee054bc0e8a24b76525eb4af5dc2316088.

* Robust filter radius

* Solve the NaN problem

* Save 1x VGPR

* Update SSS defaults

* Add migration steps

* Volume resolution WIP

* Shorter names FTW

* Comment

* Dynamic slice count works

* Dynamic res works

* Changelog

* Stretch the limits

* Fix bug (order matters)

* Comments

* Remove volumetric quality presets

* Changelog

* Reorder

* Solve the mystery of RTs going NULL

* More robust bad history detection

* Update test scenes for High Quality

* More bug fixes

* More accurate comment

* Do not reinvent the wheel

* Fix broken test 1351

* Attempt to migrate HQ SSS settings

* Remove all branches

* Optimize a bit

* 7x WF

* Fix the rounding error

* Fix the rounding error

* Remove garbage allocation

* Fix typos

* Copy the SSS value

* Revert HDRP asset changes

* Fix default UI value

* Pass the right asset

* Update ref img 1215

* update reference screenshots

* Update CHANGELOG.md

* Update CHANGELOG.md

* Switch to RTHandles

* Rename textures used by the fog filtering pass

* Fix reprojection

* Fix shader warning + typo+

* fix another shader warning

Co-authored-by: EvgeniiG <7ee2cc898cca1b5fc49df740c2081dfc681e0a28>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fixed runtime test for Yamato (#177)

* Revert "Hdrp/runtimetests/ps4 fix (#129)"

This reverts commit 6fa52ab66c77d12088114577573fb45edfb2baba.

* Update runtime test to use way less memory to be able to run on console

* Fixed screenshots and test

* Fix HDRP Wizard windows not compatible with "preview" package version (#178)

* Fix async compute throwing errors because of global constant buffers. (#130)

* Replaced commands incompatible with async compute in light list build process.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Diffusion Profile and Material references in HDRP materials are now correctly exported to unity packages. (#136)

* Added external references inside a material to diffusion profiles and materials in order to handle Material export to a package correctly.

* Update changelog

* Removed useless test

* Updated changelog message to add more info

* Refactoring to share the code for light list building better between probe volumes and lights. (#156)

* Refactoring to share the code for light list building better between probe volumes and lights.

* Remove commented code

* Fixed constant buffer update

* Fixed kernel used for cluster generation

* Fixed cluster kernel for oblique projection

* Restored a resize test for XR

* Removed unexpected Shuriken folder in Test Project

* Add range attenuation to box-shaped spotlights [Skip CI] (#101)

* Added range attenuation to box-shaped spotlights

* Update tests

* Update CHANGELOG.md

* Remove file duplication

* Added box range attenuation test

* Clarify documentation

* Update screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/decal transparent mip selection 1222437 (#96)

* Improve MIP selection for decals to transparent

* Add change logs

* Communize Helper (ComputeTextureLOD{Bias?}(...)

* Update

* Rename

* Comment

* fix white space and 0.f

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix cookie atlas alloc for cone spot lights (#187)

* Fix unneeded cookie texture allocation for cone stop lights

* Updated changelog

* Fix cone spot light cookie

* update template (#189)

* Hdrp/combine material samples with shader samples [Skip CI] (#117)

* Fix MaterialBalls having same guid issue

material samples and shader samples had the same prefabs with the same guids causing an issue when the guids are reassigned

* Merge material samples and shader samples

Merge shader samples into material samples

* Update scene visuals

update frame prefab with new visual style
update scene to suit visual style

* Fix spelling and grammatical errors

alterates -> alters - this one isn't technically an error but alterates isn't used in common English
oder -> order
accross -> across

* Create fabric scene

create scene and rendering settings

* Add fabric ball prefab with fabric mesh

Add fabric ball prefab with fabric mesh

* Add threadmaps to project

Add threadmaps to project

* Add materials to project

Add materials to project
Linen
Nylon
Satin
Velvet
Wool

* Add scenes for hair and fabric and create prefabs for lighting and hair display

Add scenes for hair and fabric
Create prefabs for lighting and hair display
Fix Decal prefab

* Update scene and fix errors with materials that don't use threadmaps

Update scene and fix errors with materials that don't use threadmaps

* Update fabric materials and textures

Update fabric materials and textures

* Clean up project and add additional materials

Add ShotSilk material
Modify materials
Rename textures
Cleanup changes
Add information to fabric scene

* Update and organize scenes

Update and organize scenes

* Update Fabric scene , fix spelling errors and change to american spelling

Update Fabric scene , fix spelling errors and change to american spelling

* Update information in fabric scene

* Update scene lighting

Update scene lighting

* Align lighting and rendering across scenes, remove old sample scene

Create prefabs for common elements
Change sky gradient
Remove unused settings
Remove old sample scene

* Update textures and meshes

Update denim color to tga file format to conform with other files
Update cloth mesh to have better normals
Update scene after changes to prefab

* Update cloth mesh

Update cloth mesh

* Update scene text and cloth mesh

Update scene text and cloth mesh

* Update Changelog

Update Changelog

* Fix bug with material ball and parallax occlusion mapping due to mesh tangents

Fix bug with material ball and parallax occlusion mapping due to mesh tangents

* Remove shader samples from package json and update material samples description

Remove shader samples from package json and update material samples description

* Update sample content documentation

* Update scene text

* Move files in mesh folder to appropriate folders and remove additional material ball prefab

* Add micro shadows

* Update 1301_StackLitSG.png

* Change guid reference in MaterialSamples scene

Co-authored-by: Sean Puller <sean.puller@unity3d.com>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* DisplayInfo attribute. (#172)

* Added DisplayInfo attribute for generic display info.

* Implemented volume parameter sorting for default inspector.

* Update changelog

* Named parameters for tuples in Volume Component Editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Compute Buffer management for render graph (#194)

* Added import and usage of Compute Buffer API to render graph.

* Missing clear of Compute buffer write/read lists.

* Another missing clear.

* Light loop compute buffers WIP

# Conflicts:
#	com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs
#	com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs

* Reverted Render Graph debug registering by default.

* Post merge fixes

* RenderPass debugger visualization and fixed null profiling sampler

* Missing using directive.

* Post merge fix

* Use new light list build ouptut for deferred lighting pass

* Use new light list build ouptut for contact shadow pass

* Use new light list build ouptut for volumetric passes

* Simplify the tooltip (#188)

* Added MovedFrom attribute (#182)

* Contact shadow min distance + fix scalarization code  (#150)

* Min distance

* editor update

* Update doc

* Changelog

* fix some ui issues

* Update docs according to UI changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* TAA docs update (#132)

* update docs

* pr review

* Added indentation as dashed

* Hdrp/deferred shadow quality multi compile (#5)

* shadow mask

* Changelog

* Have shadow quality as multi_compile

* make old API obsolete

* Update comment

* Comment on pre processor

* Update docs

* Change shader versions of deferred

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/path traced dof (#164)

* Path traced DoF implementation

* Move focus distance from volume to physical camera

* Small fixes

* Small fixes in math

* Small fixes in math 2

* Compile error

* Make new functions private

* Cosmetic changes

* Move viewport matrix function to utils

* Keep focus distance in the volume

* Do not enable in scene view camera

* Changelog

* Review feedback

* Use scale and bias instead of matrix mul for the viewport transform

* Bugfix: post process DoF should still be executed for non-physical mode

* Typo

* avoid null reference when physical params is null

* remove redundant check

* Update HDRenderPipelineAsset.asset (#210)

* Fixed volume debug menu in playmode (#149)

* Refresh widgets in play mode. Added doc. Reduced refresh rate

* Changelog

* Added some code doc

* Fix refresh rate and scroll over hidden volumes in play mode

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added a new test scene for physical camera DoF in Pathtracer (#211)

* Fixed issue when toggling anything in HDRP asset that will produce an error (case 1238155) (#215)

* fix bug 1238155

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* Update HDRenderPipelineAsset.cs

* Fix warning in PCSS code when using Vulkan (#229)

* Fix warning

* changelog

* Fix decal register + obsolete cookie API (#195)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Fix decal shader

* Fixed HDRP cookie

* Update HDLightUI.cs

* correctly fix decal

* Update CHANGELOG.md

* Update ColorAdjustments.cs

* Update ShaderVariablesDecal.hlsl

* fix compil on 2020.1

* Update HDRP_Test_Def.asset

* add test for 3RT decal

* update decal test

* Do shadow code cleanup + Fix Yamato after PR #5 Multi compile shadow (#244)

* Do code cleanup + bugfix shadow

* Update Upgrading-from-2020.1-to-2020.2.md

* Update LightLoopDef.hlsl

* Fixed issues with path traced SSS and accumulation. (#257)

* Add missing documentation for AOV API params (#254)

* Hdrp/public static sky (#253)

* Made the static lighting sky public so that users can change it by script for baking purpose.

* Update changelog

* Update HDAdditionalLightData.Migration.cs (#269)

* Add missing docs attributes (#271)

* Fixed an error about procedural sky being logged by mistake. (#273)

* Fixed an error about procedural sky being logged by mistake.

* Update changelog

* Fix quality settings UI and shadow mask UI (#122)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* fix typo

* fix typo 2

* Updated raytracing async compute warning. (#274)

* Made more explicit the warning about raytracing and asynchronous compute. Also fixed the condition in which it appears.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a null ref exception in static sky when the default volume profile is invalid. (#278)

* Fixed a null ref exception in static sky when the default volume profile is invalid.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added SubScenes cache to be compatible with HDRP/staging (#287)

* Update 2002_Light_DynamicMix.unity (#292)

* Update HDCubemapInspector.cs (#296)

* increase tolerance for test 5008 in VR due to recent changes (#311)

* Upate screenshot for HDRP DXR Test (#312)

* Fix SSS code doc (#319)

* Fix issue with screen-space shadows not enabled with RT off (#139)

* Fix issue with screen_space shadows not enabled with RT off

* Proper fix: only keep directional screen space shadows with RT off

* Fix shadow debug mode

* cosmetic changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a performance issue with stochastic ray traced area shadows. (#300)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix bad merge of the light loop optimization PR (an optimization was undone) (#321)

* Don't compute light type

* Typo

* Camera override API (#170)

* Added the API to override camera rendering

* Updated changelog

* Fixed compilation issue

* Factorized protection function

* Fixed camera override in scene view

* Added isPersistant bool in HDCamera and allocateHistoryBuffers param in Update

* Fixed camera override with dynamic resolution and moved it to internal

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix cookie srgb (#297)

* Fixed srgb flag not updating the cookie atlas

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix flickering lighting in the scene and game view when lookdev is open. (#290)

* Fixed flickering of the game/scene view when lookdev is running.

* Update changelog.

* Added a function to reset the reference size of RTHandle systems. (#299)

* Added a function (HDRenderPipeline.ResetRTHandleReferenceSize) to reset the reference size of RTHandle systems.

* Update changelog

* Fix issue with ambient probe not being correct with OnEnable/OnDemand probes (#291)

* render until ambient probe is ready

* changelog

* remove comment

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix Motion Vectors written by transparent when rendering with MSAA (#315)

* Add resolve if needed of transparent movec

* rename

* rendergraph

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/reflection probe scale perf (#252)

* Use IEnumerable as interface for HDProbeSystem

* Added a perf test for probe registration

* Use HashSet instead of List to store HDProbes

* Updated planar reflection to use a HashSet

* Updated changelog

* Fix invalid length check

* Fixed build of planar probe array

* Fixed GC alloc issue

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* [9.x.x] Axf measurements into tilings (#289)

* AxF: Add support for physical material measurements import into tiling values (new importer feature) per texture resource. Also add offset support.
On the importer side, an assumption of a unit of tangent space embedded in world space being 1 meter is used. For easier adjustments, all values are relative to a "Main Tiling" for the material.
This removes old materialU/V tiling and flakes tiling (AxF is still in preview though).
Update test scene to move old tiling property values into new properties so results don't change.
Update documentation.

* AxF measurements into tilings: Add changelog entry.

* AxF tilings - Fix typo that could set wrong specular lobe and coat normal tilings.

* Update the AlphaToMask test for AxF.

* Update all other editor and player platform references to match.

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* fix 9402screenshots on vulkan

* Update HDRP graphic test framework with Test Broken / TestFilter script (#393)

* Update hdrp testing framework

* Update hdrp testing framework 2

* Update TestFilterGenerator.cs

* revert change on shader graph

* Hd/add layer modification on generated emissive mesh for area light (#364)

* Add Layer modification of EmissiveMesh generated by area light

Add Layer handling on Generated Emissive Mesh

* Update CHANGELOG.md

* Add "same as Light" hability for layer and make it default

* Add destruction on move in hierarchy and retrieve existing to secure the NotEditable

* Add sync on Static too

* Also the copy the static drop down

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Disable async compute for D3D12 [Hold] (#301)

* disable async on d3d12

* Change doc

* Hd/fix nullref while removing decal component (#416)

* fix nullref on DecalComponent removed from contextual menu

* Update CHANGELOG.md

* Added a flow map parameter to HDRI Sky (#44)

* Added uv distorsion for HDRISky cubemap

* Editable flow strength

* Better parameter name. Smooth flow on cube edges

* Added a graphic test. Updated Changelog

* Updated documentation

* Added screenshots

* Wait frames for test

* Wait more

* Update screenshots again...

* Static test

* Static screenshots

* use multi_compile

* Renamed all parameters

* Procedural distortion

* Update doc

* Set all keywords

* Revert to old behaviour

* doc

* update test

* remove useless variable

* doc

* Fix lat long and procedural flow

* replace trig functions. Correct wind dir

* Dropdown and upper hemisphere fix

* Updated doc

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue with Uber Post process shader when alpha is enabled (#422)

* Fix issue with alpha being over 1 hence, leading to the final color being boosted due to alpha handling

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* replace fbx by the one from URP with no import errors (#427)

* Fix the bug (#430)

* Fix issue with corrupted values with Layer Lit when using multiply mode for vertex color (#418)

* Saturate vertex color to avoid negative values.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Renamed variables (#436)

* Fix issue with the resolve of motion vectors (#421)

* Hd/fix targets used in ongui in decalcomponent (#413)

* Fix Reset not resetting to default

* Delay MaterialEditor recreation to when possible

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implemented ray traced reflections for transparent objects. (#47)

* Implementation of ray traced reflections for transparent objects

* fix issue with ShowPrePassAndPostPass

* Change label for transparent SSR + change default value to false

* fix material not setup properly

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix custom pass graphic tests (#359)

* FIxed fullscreen custom pass test and re-enabled draw-renderers custom pass test

* Replaced canvas by a quad (more stable for graphic test)

* disable vulkan test as it is failing, need investigation

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Save scene-view camera settings in Editor prefs (#440)

* Sceneview camera settings are now saved in Editor prefs

* cosmetic changes

* add comment

* Small refactor to allow easily adding more prefs in the future

* fix comment

* fix comment 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue when switching back to custom sensor type in physical camera (#417)

* Fix issue when switching back to custom sensor type in physical camera

* make if comparison more explicit

* make if comparison more safe

* Per-camera history for the custom settings using a static dictionary

* Use ConditionalWeakTable instead of a Dictionary to avoid keeping alive deleted cameras

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix a null ref exception when running playmode tests  (#360)

* fix a null ref exception when running playmode tests with the render pipeline debug window opened

* use empty array

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed some gcalloc in the debug window (#445)

* Fixed some GCAlloc in the debug window

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update reference screenshot dx12

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617) (#443)

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617)

* Fix an issue with thin refraction SG and updating screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Create Shaders.meta

* Hdrp/small ui update (#423)

* Removed logic in the UI to disable parameters for contact shadows and fog volume components as it was going against the concept of the volume system.

* Update changelog.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update settings for DXR

* Update SetToCameraNearPlane.cs

* Add an option to disable shadow bias

* Don't query cull results if we don't have them (#449)

* test with a guard

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update screenshot (#463)

* Disable test HDRP_GraphicTestRunner.8105_BlendStates_b on DX12

* Update TestCaseFilters.asset

* Revert "Disable async compute for D3D12 [Hold] (#301)" (#469)

This reverts commit dc35b61d1d19ad1b363b8fbb582a076014e84b16.

* Revert "Add an option to disable shadow bias"

This reverts commit 2dfeab269baab914fd541f8fa358463d38334f6c.

* PBR Sky renderer now shares its internal precomputation table between different instances. (#250)

* PBR Sky renderer now shares its internal precomputation table between different instances.

* Update changelog

* Doc update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Makes sure quaternion is normalized and valid before converting to ma… (#331)

* Makes sure quaternion is normalized and valid before converting to matrix.

* Updated Changelo.

* Revert "Updated Changelo."

This reverts commit 60e65b50f3ab7fc241556e1c8f46b680defe36e2.

* Update CHANGELOG.md

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* New tooltip for camera background and fixed exposure when switching the background mode. (#415)

* Put more information in Camera background type tooltip and fixed inconsistent exposure behavior when changing bg type.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue causing not all baked reflection probes to be deleted  (#441)

* Clear the queue once filled up and push elements that failed to be pushed.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed asset preview being rendered white because of static lighting sky. (#462)

* Fixed an issue where asset preview could be rendered white because of static lighting sky.

Also fixed an issue where static lighting was not updated when removing the static lighting sky profile.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed null reference exception in LookDev when setting the SRP to None (#447)

* Fixed null reference exception in LookDev when setting the SRP to None

* Review feedback

* Review feedback 2

* Fix show cookie atlas debug mode (#475)

* Fix the show cookie atlas debug mode not displaying correctly

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Enable DXR playmode test (#472)

* Update upm-ci-hdrp_dxr.yml

* add hdrp dxr playmode test to all hdrp ci

* Update upm-ci-hdrp.yml

* Update upm-ci-hdrp.yml

* change planar atlas size to 1024

* Update upm-ci-hdrp.yml

* Update 802_SubSurfaceScatteringForward.png

* update scene

* update 5001 lighting

* fix exposure for 5001 path tracing test

* update player screenshots

* disable 5001 path tracing as it fail on yamato

* Fix few multi-editing issues with Emission UI (#473)

* Working but not nice

* Remove unecessary cruft

* tiny changes

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Re-enable cubemap thumbnail gen only for d3d11 (#487)

* re-enable thumbnail gen only for d3d11

* Update changelog

* try enable metal

* Update changelog and comment

* Check reflection probe null pointer before use. (case 1244047) (#456)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Remove max atlas probe alloc size in HDRP asset (#458)

* Fixed max alloc planar size not taking in account the max cache size

* Removed the max cache clamp on texture atlases

* Hd/fix undo environmentlibrary lookdev (#490)

* fix undo redo for environment library

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix vulkan test

* SSGI Implementation (#95)

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Change Sky in 5001 PT Test to HDRI Sky + update image (#502)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 802_SubSurfaceScatteringForward.unity

* fix vulkan warring and wrong meta

* Update upm-ci-hdrp.yml

* Fix merge issue with Test filter

* Use path relative to package for depth of field  (#523)

* Use absolute paths for dof include

* changelog

* Fix Light overlap (#444)

* Added the light overlap volume code

* Updated changelog

* Made outline thinner and removed the semi-transparent color of the light shape in light overlap debug mode

* Fixed documentation

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed API breakage. (#524)

* [Docs] Add missing documentation for Accumulation, AOVs, path-traced DoF (#532)

* AOV documentation

* minor change in the comments

* Accumulation documentation

* minor improvements

* Rewrite the AOV script. Now it is stand-alone.

* Typo

* Add path traced DoF documentation

* Reviewed AOV doc

* Reviewed accumulation doc

* Reviewed path-traced dof doc

* Add missing OnDestroy in example script

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>

* Restore some XR HDRP tests (#382)

* restored XR tests

* revert and split changes for temporal effects in another branch

* fix XR tests using volumetrics

* 8103 is still acting randomly

* try to set timeout to 30s to confirm it's working

* set timeout to 5 min per test for HDRP instead of default 3 min

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix taaFrameIndex and restore TAA tests for XR (#534)

* fix taaFrameIndex and temporal effects with the test suite

* increase waitFrames to 64 on the TemporalAA test scenes and enable XR compatibilty

* update ref images

* set waitFrames for HDRP runtime test scene

* reset camera before waiting

* update reference images from Yamato

* revert change to 001-HDTemplate

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255) (#488)

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255)

* Add missing inverse exposure multiplier

* Add support for batchmode (#542)

* Update 9301_MotionVectorsOff-Forward-Dynamic.png

* Fix custom pass prefabs (#419)

* Fix custom pass integration with prefabs

* Updated changelog

* Fixed prefab highlight not updated when adding/removing custom passes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Correctly dealloc/realloc resources when switching RenderGraph on and off. (#328)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* Reverted volumetric lighting changes and now render graph version uses the shared textures.

* Clone in the Asset folder when the original volume profile is in a re… (#508)

* Clone in the Asset folder when the original volume profile is in a read only package. (case 1154961)

* Added changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Adding code for history rejection for SSGI and adding a disabled test that should be used (test framework doesn't support) (#529)

* Custom Pass API (part 1) (#155)

* Begin to write the new custom pass API

* Begin to add custom pass utils shader

* Begin to add custom pass API test scenes

* Fixes for the Gaussian blur of the custom pass API

* Fix blur release

* Added custom pass copy test and fixed blur

* Added more custom pass documentation

* Added custom pass API graphic test reference image

* Added more obsolete things

* fix function visibility

* Updated changelog

* Added custom pass API test scene

* Fixed custom pass API doc

* Moved obsolete execute function into the new one

* Updated custom clear pass to use the new API

* Updated custom pass API test reference image

* update reference screenshots

* Fixed various scale issues in the blur custom pass API and updated reference screenshot

* Disable custom pass API test because it's unstable

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 3) (#98)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Converted raytracing lightloop variables to constant buffer.

* Converted RayTracing global variables to constant buffer.

* Removed obsolete comment

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Post merge fix

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Post merge fix

* Removed useless constant

* Crash fix

* Post merge fix

* Update 501_RecursiveRendering.png

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Hd/fix wizard defaultvolumeprofile creation (#565)

* Fix Wizard check on default volume profile

* Update CHANGELOG.md

* Small TAA Anti-flicker changes (#555)

* tweaks

* Change default so that is just high quality.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix central depth sampling in TAA (#564)

* Fix sampling of central depth

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Render Graph Async Compute (#552)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* WIP: refactoring of render graph compilation and resource allocation to prepare for async dependencies.

* Implementation of async resource synchronization.

* Fixed synchronization (only partial fix)

* Added default profiling sampler for render graph passes not providing one.

* Async WIP

* Fixed async synchronization by extending lifetime of resources freed during async pass to the first graphics task that wait for async.

* Post merge fix

* Cleanup

* Removed comment.

* Disabled async contact shadows again.

* Small cleanup

* Change exposure compensation in the default volume profile to 0. (#388)

* Change profile (And add missing setting)

* changelog

* Upgrade guide

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Histogram guided auto-exposure + debug modes (#372)

* some very incomplete stuff...

* sync point, rough working version

* Mostly working for now, moving onto debug vis and maybe revisit.

* Commit as I need branch switching - Start debug modes

* Add a bunch of debug mode and start of histogram

* Delimiters indicator with bars

* Add another option for percentile exttremes

* fix warning

* Moving debug modes

* Label bar separate (invisible otherwise)

* Push change to bar indicator

* remove fancy background of histogram frame

* Small triangle instead of indicator bars

* Target exposure indicator

* add some margin

* Add an X at center

* Metering PiP

* Draw tonemap curve and use tonemapped texture for view

* Share some code

* Curve remapping for histogram and fix some warning

* Some comments fixup

* Simple comment changes

* Revert debug symbol in shader

* Changelog

* review fixups

* Review feedback

* Bad merge fixup

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Refactor shadow caching system (#554)

* Very debuggy code just start nothing functional or usable yet.

* remove old cached stuff (not finished, need switch branch)

* revert wrongful commit

* A bit of restructuring

* A good point as any to sync up

* sync

* Move from old repo...

* fix regression

* Handle case in which shadow doesn't fit

* leftover not committed

* Fix some issues with culling of point lights from the

* preliminary support for cascaded shadows

* Fix some issue with the directional

* Subshadow update

* Add some guards, some debug and the new C++ api for infinite bounds

* Some UI for the resolution

* Fix merge issues

* Update debug cs.hlsl

* Render graph stuff and some leftover removal

* micro cleanup

* Fix behaviour when defragging and excess lights are there

* Public API

* Remove dbg names

* Bug on debug view of area atlas

* Missing field on new PCSS signature for directional

* More public API

* Refresh cached shadows on resolution changes.

* merge conflicts patchup

* Fix missing shadows on normal shadows

* Small cleanup and turning positive the doesn'tHavePlacement

* Fix case on switching light type and issue with non-rectangle area lights

* tentative fix for error on build

* Debug logging

* update naming of debug

* Fix issue with double inclusion

* DOCS

* upgrade guide

* post merge fixups

* leftover comment

* changelog

* Doc changes in upgrade guide

* have print debug info only in editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update reference screenshots

* VFX test: Replace auto exposure by fix exposure in ParticleRibbonTest

* Fixed light layers not correctly disabled when the lightlayers …
sebastienlagarde added a commit that referenced this pull request May 27, 2020
* Added Alpha To Mask for HDRP and ShaderGraph (#6297)

* Added AlphaToMask render state

* AlphaToMask

* AlphaToMask test

* Updated changelog

* Updated LayeredLit and AxF test

* Added reference images

* Fix depth and motion vector passes for Unlit

* AlphaToMask doc. Unified doc and fixed links for Alpha Clipping

* Updated reference screenshots

* Update CHANGELOG.md

* Fix motion vector settings for test scenes

* Block AlphaToMask state in deferred or not MSAA. Updated test screenshots

* Fix MRT blend state

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Move scene view camera settings to camera settings window (#6390)

* Move the HDRP scene view settings to the Editor camera settings widget

* Changelog + tooltips

* update upgrade guide

* fix spelling

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed how the area light influence volume is computed to match rasterization. (#6454)

* - Fixed how the area light influence volume is computed to match rasterization.

* Fix issue in the axis order

* Update DebugDisplay.cs (#6467)

* Fix shadow tesselation culling (#6477)

* Fix custom pass culling params

* Fixed shadow tessellation culling

* revert custom pass code

* Adding 5 automated test scenes (#6483)

* Sharing more code for light data building (RT) and building a more optimal atlas (#6370)

* - Sharing GetLightData code between rasterization and ray tracing to avoid duplication and lack of features
- Inject all lights at the same time (rasterization and ray tracing) into the cookie atlas to avoid waste of space.
- Added a test scene to make sure it works properly

* correcting debug mistake

* Forgot to add the screenshot and to enable the test in the editor build settings

* - Fixed usage of light size data that are not available at runtime. (#6489)

* Hdrp /lookdev ui fixes (#6491)

* Fix no environment text wraping

* Add missing toolbar tooltips

* Fix camera button-dropdown layout

* Fix uss loss at domain reload

* Update CHANGELOG.md

* Fix custom pass depth copy (#6484)

* Fixed the depth buffer copy made before custom pass after opaque and normal injection point

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Changed the diffusion profile warning on the material to an info and changed the message to be more precise. (#6479)

* Fix issue with baked reflection probes constantly marked as dirty with auto-bake on (#6473)

* Use different hash to prevent the perennial dirtying of baked probes.

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp /fix drag area width at left of light intensity (#6471)

* Fix drag area width at left of light's intensity

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp /fix reset of HDAdditionalLightData (#6453)

* fix type resolving issue when reseting HDAdditionalLightdata

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Add option to disable XR rendering on the camera settings (#6372)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix unused leftover (#6497)

* Split HDRP Test scene 1900 in two scene (#6498)

* Fix custom pass test reference images (#6512)

* Updated ref image for PT fog test (5005). (#6513)

* Review corrections for previous PR (#6494)

* Fixed an usage of a a compute buffer not bound (1229964) (#6476)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed scene selection pass not working proporly for meshes rendered with recursive rendering. (#6520)

Fixing an issue with sub-surface scattering and updating screenshots

* fix typo (#6500)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor. (#6493)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor.

* Update changelog.

* Additional fix for regular inspector

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems. (#6480)

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems.

* Update changelog

* Removed wrongly serialized fields in StaticLightingSky (#6441)

* Removed unnecessarily serialized members in StaticLightingSky component.

* Update changelog

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045). (#6504)

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045).

* Small fix to avoid overlapping

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>

* Fix a compilation issue to to a backport that did not go well. (#9)

* Fixed a regression in the ray traced indirect diffuse due to the new probe system. (#31)

* Clamp probes compression factor to 0 (#19)

* Clamp to positive

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* path validation when creating new volume profile (#36)

* Validate whole path when creating new profile

* Changelog

Co-authored-by: pavlos.mavridis <pavlos.mavridis@unity3d.com>

* Alpha to coverage frame setting (#33)

* Added FrameSettingsField.AlphaToMask

* Changelog + Documentation

* Changed field index

* Axf - Add specaa, add baked ao, fix reflection hierarchy for carpaint. (#41)

* AxF: Add support for specular AA from geometric curvature.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* AxF: Fix a typo that caused a bug for SVBRDF materials using precise Fresnel variants to always use full reflectance (1) for delta lights.

* AxF: Fix ignored reflection hierarchy + proxy intersection for carpaint. Add comments about problems if two directions are differents. Also add an option (disabled for now) to have BRDFColor with base angle of dominant direction. Rename some variables to make clearer direction on top for bottom lobe.

* AxF: Use get scalar roughness function to factor out  code.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* Add changelog entries.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement constant buffers for HDRP global variables. (#52)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Fixed color/depth pyramid debug

* Cleanup

* Small fix

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Add Performance framework package and HDRP performance tests (#45)

* Added performance test project

* Added new test scene system and memory p[rofiling

* Added shader analysis package

* Create symlink folder in library directory

* Update editor window

* Update shader analysis selection

* Added CLI utility to execute shader analysis reports

* Added example for the cli

* Removed problematic HDRP graphic test packages

* Add xml file to avoid IL2CPP stripping issues with test runner on the performance test(#5903)

* Update memory profiling test sample count

* Update shader graph support

* Updated project settings

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Use background job API and improved progress reporting

* Empty commit for Performance reports

* Updated ui

* Empty commit for Performance reports

* Empty commit for Performance reports

* Added filter on shader pass and variants

* Added option to only generate shader variants

* Empty commit for Performance reports

* Increase garlic heap size

* Begin to add build profiling

* Added more build info

* Working version of the shader compilation time reporting

* wip

* Removed useless cli

* Added util functions to name test and sample groups

* Renamed all markers and finished the build profiling

* Update test framework package

* Updated shader analysis tests

* Updated API

* Updated API and log command for compiler

* Updated api

* Use unknown metric instead of time one as workaround

* Enable the CPU profiling API

* Fix when deleting an analyzed shader

* Load reference on enable

* Added shader analysis package

* Fixed PS4 test name

* Fixed memory unit

* Added more test scenes

* Force performance tests to run on PS4  base

* Fixed sample units and use the same SampleGroup for multiple frames in counter test

* Begin to create the graphic perf test

* Finished the first version of performance graphic test package

* Fixed build tests

* Increase static analysis timeout

* More timeout

* Removed Lit shader static analysis

* Fix counters tests

* Added performance settings window in project settings

* Re-add Forward build test scene

* Fixed shader analysis filter

* PR fixes

* Begin to write the doc

* Finished V1 of the performance package doc

* Added grafana image and doc description

* Updated doc

* Maybe fix yamayo tests

* Update documentation for static analysis

* Added note on core asmdef

* Removed debug

* Fixed total memory

* Added tesselation counters test

* Tessellation shadow test

* Added per scene settings

* Added naming convention doc

* Fixed build issue on yamato

* Compilation fix to revert

* Begin to write the new doc page

* Completed performance doc

* Fixed build test

* Added Lit in static analysis

* Removed deferred static analysis

Co-authored-by: Frédéric Vauchelles <fredericv@unity3d.com>
Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: FrancescoC-Unity <francescoc@unity3d.com>

* Hdrp/fix/custom pass msaa rendering info (#42)

* Add an info box to warn about depth test artifacts when rendering object twice in custom passes with MSAA

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Custom Pass AOV API  (#50)

* Very basic AOV support for custom pass

* Updated AOV API for custom passes

* Changelog

* Update AOV API

* API improvements

* API documentation

* API doc, factorize all push texture calls in RenderCustomPass

* added default values and constructor for CustomPassAOVBuffers

* fix merge conflicts

* Fix GC alloc during rendering: use a for loop instead of findIndex+lambda

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 2) (#87)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Minor adjustments to TAA anti flicker (#97)

* small adjust to taa antiflicker

* Changelog

* Add support for lighting decomposition debug mode (+ AOV) (#99)

* Add lighting decomposition debug mode

* fix compil issue with probe volumes

* Fix usage of debug exposure in debug mode

* Add Test 3001 + fix reflection when sky  only

* remode _DebugExposure after merge

* remode _DebugExposure after merge

* fix merge issue

* add exposure compensation to Fixed exposure mode

* Update ColorUtils.cs

* Fix MSAA resolve when there is no motion vectors (#1)

* Fix MSAA resolve when there is no motion vectors

* Update CHANGELOG.md

* Cleaned up code

* use multi_compile

* Added _

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix switch shader compilation (#111)

* DXR Automated tests shader graph optimizations (#116)

* Split 902 scene into 5 scenes + SG optimizations

* Deleting old image for splited scene

* Fix various leaks in HDRP. (#113)

* Fixed a number of leak in HDRP

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix compile error with XR SubsystemManager (#107)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update SceneViewDrawMode.cs (#118)

* Follow references when deleting unloading unused assets on shader graph save (case 1230996)  (#114)

* Follow references when unloading unneeded assets

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix culling of reflection probes that change position (#121)

* Fix culling of reflection probes that change position

* Avoid null reference

* Avoid null reference - try 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix null reference when processing light probe (#131)

* Hdrp/runtimetests/ps4 fix (#129)

* Redo branch. Upgrade to 2020.1.0b5, reduce texture res, new HDRP asset.

* Switch to HDRI, increase Garlic heap size to 4gb, turn on "Stop NaNs" on camera, decrease render target res.

* Fix issues causing planar probes to be broken with multiple cameras in the scene (#4)

* Set appropriate render datas before rendering cameras

* changelog

* update doc

* comment update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix black screen in XR when HDRP package is present but not used (#137)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader). (#18)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader).

* update ssr screenshot

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for rasterized area light shadows in StackLit + slight refactor (#39)

* Added support for rasterized area light shadows in StackLit. Also refactor code to avoid early return (compiler bug) and fix lux meter debug mode when anisotropy for area lights is enabled.

* Doc: remove note about area light shadows for stacklit. [skipci]

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update the scripting API for FrameSettings, FrameSettingsOverrideMask and IBitArray (#110)

* Fix for white flash happening when changing lighting condition (like teleport) (#140)

* fix

* Update PostProcessSystem.cs

* Update CHANGELOG.md

* Add some clamp to fp16 for case where we don't have a NaN killer pass like planar reflection

* Update CHANGELOG.md

* adress PR feedback

* Fix default volume profile collapse (#138)

* Only re-create the volume profile editor when the asset is changed

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Bind missing buffer (#159)

Bind buffer to make sure that something is bound

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* AxF fix: Use CALCULATE_TEXTURE2D_LOD macro for future cross platform compatibility (Metal) (#162)

* Fixed shader warning on Xbox for ResolveStencilBuffer.compute (#163)

* fix warning

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Texture-weighted automatic exposure (#165)

* Exposure weighted by texture

* miss one in the renaming

* Doc update

* changelog

* doc update

* fix issue when disabling override

* Update 3003_LightingMode.unity

* Optimizing light loop part 2 (#2)

* Saving 10% off the PrepareLightForGPU

* 18% decrease in cost with this

* Around 12% cost shaving off GetLightData

* Around 6.5% win here

* Faster View matrix flip

* Missing *=-1

* About 7% win in preprocess light data

* Another small batch

* Small cleanup for first optimization pass

* Tiny bit more cleanup

* Make UpdateShadowRequests 12% cheaper

* Address review points

* A bit less than 20% win in ExtractPointLightData

* Add comment

* changelog

* 25% reduction of ExtractPointLightData

* 18% win in UpdateShadowRequest

* Another around 11% win for UpdateShadowRequest

* Move matrix multiply utils to core

* less lighttype computation

* Ooops

* fixup changelog

* Proper merge

* Missing leftovers .

* I'll manage to submit it all one day...

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for POM for emissive map (#51)

* Add option to use Base UV Mapping for emission

* Graphic test and doc

* Changelog

* Screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* HDRP Compositor Tool (#57)

* HDRP compositor tool, first code drop

documentation typo, move everything in compositor namespace

documentation typo

bugfix: dynamically add/remove properties when shadergraph changes

UI bugfix: properly compute height of UI elements

Missing tooltips, button to remove the compositor

toggle layers now works when player is paused

add chroma keying in the compositor test

Changelog, workflow bugfix

Use Unity's built'in icons

AOV bugfixes

AOV tooltip was wrong

bugfix: disabling the compositor now disables all compositor cameras

Proper monitoring of shadergraph changes

Updated test image + minor changes

Use better names for internal cameras

Bugfix: selecting the same res for a layer

Bugfix: deleting in-use texture layers from shadergraph now works

Bugfix: setting AOV to none now works properly

Use the term SubLayer in the UI

Improve AOV tooltip

Camera properties in layers are properly refreshed

UI: Move checkbox for overrides on the left side of the label

Remove default compositor camera when also deleting the compositor

Bugfixes: no orphans (delete all children when removing a layer), saving the layer list now works again

Hdrp/docs/compositor (#6013)

* Added docs review

* Changed fodler for images

Bugfixe: deleting layers

Bugfix: reordering layers

Bugfix: creating a new compositor fails

Remove redundant check

Fix wrong tooltip

Bugfix when deleting camera stack layers

Bugfix: handle window resize

Bugfix: sub-layers without parent when re-ordering, preview remains visible for disabled layers

Bugfix: more robust re-ordering (also moves children)

Bugfix: mark scene dirty when adding a compositor

Bugfix: display warning when alpha is configured properly

Change video layer icon

Bugfix: adding a layer filter does not reset the UI state

Bugfix: do not show composition properties that are marked with hide-in-inspector

Better / more clean layer injection implementation

minor code clean up

Clear color mode should only be editable on the first layer of a stack

Bugfix: setup of custom render was not always called

Bugfix: make sure additional camera data always exist in the layer/compositor camera

Change test id to 9800

Fix typos

mark scene dirty when removing or disabling the compositor

Default composition shadergraph and profile are now cloned

Serialized objects are now properly updated

minor code change: range checks

bugfix: error message appears at beginning

remove layer list from the asset file

add default camera layer when creating the compositor

replace getter function with c-sharp property

update asset in unit test

* move compositor unit test images

* remove leftover code

* review feedback #1

* review feedback 2

* review feedback - custom clear shader

* fix variable names that don't affect serialization

* fix serialized variable names

* bugfix: image layers and camera stacking

* use enum utility functions

* Use multicompile in motion blur + bug fix

* Make some variables private

* Update Compositor-User-Guide.md

* Review feedback

* fix muticompile for motion blur without alpha

* Update to new constant buffer / shadergraph api

* Player test image for the compositor

* Properly fill camera entries for global constant buffer

* Fix after rebase / function rename

* Make bg red for better debugging qnd cqtch unity exception

* Disable compositor test until we fix it on yamato

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* PBR shader gbuffer ztest (#43)

* Fixed PBR shader rendering in deferred

* Updated changelog

* Enable Light Baking Cookies by default + Warning (#79)

* Enable

* Fix typo

* Importance Sampling Pipeline (#84)

* Multiple Importance Sampling for HDRI Sky (Ray Generation)

* backup

* Multiple helpers

* Add RTHandleDeleter (delay in K frame the Release of a RTHandle)
* Fix GPU Operation when texture are too small
* Helper to manager Mariginal Texture in general (Tex2D, Tex2DArray, CubeMap, CubemapArray), ...
* Helper manager to generate one marginal per slice mip (one per frame)

* backup

* Add SampleCubemapProjectionNode (Project cubemap to Geometry)

* delete useless files

* update

* Cube To LatLong for CubeArray

* Functional generation

* Integration on ray tracer step

* Store HDRI Integral

* .

* Integrate HDRI Sky

* Update Importance Sampling

* Update Algorithm with Hemisphere Path

* Backup

* Update merge

* Update Merge 001

* Update Merge 002

* Update Merge 003

* Update Merge 004

* Update Merge 005

* Update Merge 006

* Update Merge 007

* Cleanup

* Update Integration of HDRISky Upper Hemisphere

* Remove useless dump images on disk

* Fix change log issue

* backup

* Backup

* Pre-Clean

* Pre-Clean

* Clean Up - remove file

* Remove Debug Code

* Update

* Update ChangeLog

* Clean Up

* update

* Clean up

* Remove useless texture

* Fix CGAlloc + Default Litetime of a RTHandle on the "RTHandleDeleter"

* CleanUp

* remove useless comment

* Add variable (Atmospherical) + Rename/Comment

* Move parameter to CS, Clean & move to private RTHandleDeleter

* Revert "Importance Sampling Pipeline (#84)"

This reverts commit 835d6a45c15ec7cbebde2aa385134a780c363e11.

* Reducing the number of variants for ray tracing when building a player (#94)

* - Replaced the DIFFUSE_LIGHTING_ONLY multicompile by a uniform.
- Removed the dynamic lightmap multicompile.
- Remove the LOD cross fade multi compile for ray tracing.
- Added a ray tracing mode option in the HDRP asset that allows to override and shader stripping.

* fix merge

* Update LayeredLit.shader

* Update LayeredLit.shader

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 3003_LightingMode.unity

* Fix compil issue with Enable BakeCookie

* Enable Light Baking Cookies by default + Warning - part 3 #79

* Avoid building the mip chain a second time for SSR for transparent objects.  (#93)

* - Avoid building the mip chain a second time for SSR for transparent objects.

* Update ScreenSpaceReflections.compute

* fix merge issue

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Scalable volumetrics [skip ci] (#34)

* Adaptive sampling works

* Compute the PDF

* URL

* Fix stuff up (except for profile preview)

* Attempt to fix previews

* Fix transmission

* Support quality levels

* Clean shader

* Remove 2 kernels

* PURGE

* Automatically adjust the number of samples at runtime

* Changelog

* Spaaaaace

* Add comment

* Spaaaaaace

* Rename

* Update ref img 1215, 1216, 1217

* Revert "Update ref img 1215, 1216, 1217"

This reverts commit 9aeb1fee054bc0e8a24b76525eb4af5dc2316088.

* Robust filter radius

* Solve the NaN problem

* Save 1x VGPR

* Update SSS defaults

* Add migration steps

* Volume resolution WIP

* Shorter names FTW

* Comment

* Dynamic slice count works

* Dynamic res works

* Changelog

* Stretch the limits

* Fix bug (order matters)

* Comments

* Remove volumetric quality presets

* Changelog

* Reorder

* Solve the mystery of RTs going NULL

* More robust bad history detection

* Update test scenes for High Quality

* More bug fixes

* More accurate comment

* Do not reinvent the wheel

* Fix broken test 1351

* Attempt to migrate HQ SSS settings

* Remove all branches

* Optimize a bit

* 7x WF

* Fix the rounding error

* Fix the rounding error

* Remove garbage allocation

* Fix typos

* Copy the SSS value

* Revert HDRP asset changes

* Fix default UI value

* Pass the right asset

* Update ref img 1215

* update reference screenshots

* Update CHANGELOG.md

* Update CHANGELOG.md

* Switch to RTHandles

* Rename textures used by the fog filtering pass

* Fix reprojection

* Fix shader warning + typo+

* fix another shader warning

Co-authored-by: EvgeniiG <7ee2cc898cca1b5fc49df740c2081dfc681e0a28>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fixed runtime test for Yamato (#177)

* Revert "Hdrp/runtimetests/ps4 fix (#129)"

This reverts commit 6fa52ab66c77d12088114577573fb45edfb2baba.

* Update runtime test to use way less memory to be able to run on console

* Fixed screenshots and test

* Fix HDRP Wizard windows not compatible with "preview" package version (#178)

* Fix async compute throwing errors because of global constant buffers. (#130)

* Replaced commands incompatible with async compute in light list build process.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Diffusion Profile and Material references in HDRP materials are now correctly exported to unity packages. (#136)

* Added external references inside a material to diffusion profiles and materials in order to handle Material export to a package correctly.

* Update changelog

* Removed useless test

* Updated changelog message to add more info

* Refactoring to share the code for light list building better between probe volumes and lights. (#156)

* Refactoring to share the code for light list building better between probe volumes and lights.

* Remove commented code

* Fixed constant buffer update

* Fixed kernel used for cluster generation

* Fixed cluster kernel for oblique projection

* Restored a resize test for XR

* Removed unexpected Shuriken folder in Test Project

* Add range attenuation to box-shaped spotlights [Skip CI] (#101)

* Added range attenuation to box-shaped spotlights

* Update tests

* Update CHANGELOG.md

* Remove file duplication

* Added box range attenuation test

* Clarify documentation

* Update screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/decal transparent mip selection 1222437 (#96)

* Improve MIP selection for decals to transparent

* Add change logs

* Communize Helper (ComputeTextureLOD{Bias?}(...)

* Update

* Rename

* Comment

* fix white space and 0.f

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix cookie atlas alloc for cone spot lights (#187)

* Fix unneeded cookie texture allocation for cone stop lights

* Updated changelog

* Fix cone spot light cookie

* update template (#189)

* Hdrp/combine material samples with shader samples [Skip CI] (#117)

* Fix MaterialBalls having same guid issue

material samples and shader samples had the same prefabs with the same guids causing an issue when the guids are reassigned

* Merge material samples and shader samples

Merge shader samples into material samples

* Update scene visuals

update frame prefab with new visual style
update scene to suit visual style

* Fix spelling and grammatical errors

alterates -> alters - this one isn't technically an error but alterates isn't used in common English
oder -> order
accross -> across

* Create fabric scene

create scene and rendering settings

* Add fabric ball prefab with fabric mesh

Add fabric ball prefab with fabric mesh

* Add threadmaps to project

Add threadmaps to project

* Add materials to project

Add materials to project
Linen
Nylon
Satin
Velvet
Wool

* Add scenes for hair and fabric and create prefabs for lighting and hair display

Add scenes for hair and fabric
Create prefabs for lighting and hair display
Fix Decal prefab

* Update scene and fix errors with materials that don't use threadmaps

Update scene and fix errors with materials that don't use threadmaps

* Update fabric materials and textures

Update fabric materials and textures

* Clean up project and add additional materials

Add ShotSilk material
Modify materials
Rename textures
Cleanup changes
Add information to fabric scene

* Update and organize scenes

Update and organize scenes

* Update Fabric scene , fix spelling errors and change to american spelling

Update Fabric scene , fix spelling errors and change to american spelling

* Update information in fabric scene

* Update scene lighting

Update scene lighting

* Align lighting and rendering across scenes, remove old sample scene

Create prefabs for common elements
Change sky gradient
Remove unused settings
Remove old sample scene

* Update textures and meshes

Update denim color to tga file format to conform with other files
Update cloth mesh to have better normals
Update scene after changes to prefab

* Update cloth mesh

Update cloth mesh

* Update scene text and cloth mesh

Update scene text and cloth mesh

* Update Changelog

Update Changelog

* Fix bug with material ball and parallax occlusion mapping due to mesh tangents

Fix bug with material ball and parallax occlusion mapping due to mesh tangents

* Remove shader samples from package json and update material samples description

Remove shader samples from package json and update material samples description

* Update sample content documentation

* Update scene text

* Move files in mesh folder to appropriate folders and remove additional material ball prefab

* Add micro shadows

* Update 1301_StackLitSG.png

* Change guid reference in MaterialSamples scene

Co-authored-by: Sean Puller <sean.puller@unity3d.com>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* DisplayInfo attribute. (#172)

* Added DisplayInfo attribute for generic display info.

* Implemented volume parameter sorting for default inspector.

* Update changelog

* Named parameters for tuples in Volume Component Editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Compute Buffer management for render graph (#194)

* Added import and usage of Compute Buffer API to render graph.

* Missing clear of Compute buffer write/read lists.

* Another missing clear.

* Light loop compute buffers WIP

# Conflicts:
#	com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs
#	com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs

* Reverted Render Graph debug registering by default.

* Post merge fixes

* RenderPass debugger visualization and fixed null profiling sampler

* Missing using directive.

* Post merge fix

* Use new light list build ouptut for deferred lighting pass

* Use new light list build ouptut for contact shadow pass

* Use new light list build ouptut for volumetric passes

* Simplify the tooltip (#188)

* Added MovedFrom attribute (#182)

* Contact shadow min distance + fix scalarization code  (#150)

* Min distance

* editor update

* Update doc

* Changelog

* fix some ui issues

* Update docs according to UI changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* TAA docs update (#132)

* update docs

* pr review

* Added indentation as dashed

* Hdrp/deferred shadow quality multi compile (#5)

* shadow mask

* Changelog

* Have shadow quality as multi_compile

* make old API obsolete

* Update comment

* Comment on pre processor

* Update docs

* Change shader versions of deferred

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/path traced dof (#164)

* Path traced DoF implementation

* Move focus distance from volume to physical camera

* Small fixes

* Small fixes in math

* Small fixes in math 2

* Compile error

* Make new functions private

* Cosmetic changes

* Move viewport matrix function to utils

* Keep focus distance in the volume

* Do not enable in scene view camera

* Changelog

* Review feedback

* Use scale and bias instead of matrix mul for the viewport transform

* Bugfix: post process DoF should still be executed for non-physical mode

* Typo

* avoid null reference when physical params is null

* remove redundant check

* Update HDRenderPipelineAsset.asset (#210)

* Fixed volume debug menu in playmode (#149)

* Refresh widgets in play mode. Added doc. Reduced refresh rate

* Changelog

* Added some code doc

* Fix refresh rate and scroll over hidden volumes in play mode

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added a new test scene for physical camera DoF in Pathtracer (#211)

* Fixed issue when toggling anything in HDRP asset that will produce an error (case 1238155) (#215)

* fix bug 1238155

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* Update HDRenderPipelineAsset.cs

* Fix warning in PCSS code when using Vulkan (#229)

* Fix warning

* changelog

* Fix decal register + obsolete cookie API (#195)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Fix decal shader

* Fixed HDRP cookie

* Update HDLightUI.cs

* correctly fix decal

* Update CHANGELOG.md

* Update ColorAdjustments.cs

* Update ShaderVariablesDecal.hlsl

* fix compil on 2020.1

* Update HDRP_Test_Def.asset

* add test for 3RT decal

* update decal test

* Do shadow code cleanup + Fix Yamato after PR #5 Multi compile shadow (#244)

* Do code cleanup + bugfix shadow

* Update Upgrading-from-2020.1-to-2020.2.md

* Update LightLoopDef.hlsl

* Fixed issues with path traced SSS and accumulation. (#257)

* Add missing documentation for AOV API params (#254)

* Hdrp/public static sky (#253)

* Made the static lighting sky public so that users can change it by script for baking purpose.

* Update changelog

* Update HDAdditionalLightData.Migration.cs (#269)

* Add missing docs attributes (#271)

* Fixed an error about procedural sky being logged by mistake. (#273)

* Fixed an error about procedural sky being logged by mistake.

* Update changelog

* Fix quality settings UI and shadow mask UI (#122)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* fix typo

* fix typo 2

* Updated raytracing async compute warning. (#274)

* Made more explicit the warning about raytracing and asynchronous compute. Also fixed the condition in which it appears.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a null ref exception in static sky when the default volume profile is invalid. (#278)

* Fixed a null ref exception in static sky when the default volume profile is invalid.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added SubScenes cache to be compatible with HDRP/staging (#287)

* Update 2002_Light_DynamicMix.unity (#292)

* Update HDCubemapInspector.cs (#296)

* increase tolerance for test 5008 in VR due to recent changes (#311)

* Upate screenshot for HDRP DXR Test (#312)

* Fix SSS code doc (#319)

* Fix issue with screen-space shadows not enabled with RT off (#139)

* Fix issue with screen_space shadows not enabled with RT off

* Proper fix: only keep directional screen space shadows with RT off

* Fix shadow debug mode

* cosmetic changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a performance issue with stochastic ray traced area shadows. (#300)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix bad merge of the light loop optimization PR (an optimization was undone) (#321)

* Don't compute light type

* Typo

* Camera override API (#170)

* Added the API to override camera rendering

* Updated changelog

* Fixed compilation issue

* Factorized protection function

* Fixed camera override in scene view

* Added isPersistant bool in HDCamera and allocateHistoryBuffers param in Update

* Fixed camera override with dynamic resolution and moved it to internal

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix cookie srgb (#297)

* Fixed srgb flag not updating the cookie atlas

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix flickering lighting in the scene and game view when lookdev is open. (#290)

* Fixed flickering of the game/scene view when lookdev is running.

* Update changelog.

* Added a function to reset the reference size of RTHandle systems. (#299)

* Added a function (HDRenderPipeline.ResetRTHandleReferenceSize) to reset the reference size of RTHandle systems.

* Update changelog

* Fix issue with ambient probe not being correct with OnEnable/OnDemand probes (#291)

* render until ambient probe is ready

* changelog

* remove comment

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix Motion Vectors written by transparent when rendering with MSAA (#315)

* Add resolve if needed of transparent movec

* rename

* rendergraph

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/reflection probe scale perf (#252)

* Use IEnumerable as interface for HDProbeSystem

* Added a perf test for probe registration

* Use HashSet instead of List to store HDProbes

* Updated planar reflection to use a HashSet

* Updated changelog

* Fix invalid length check

* Fixed build of planar probe array

* Fixed GC alloc issue

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* [9.x.x] Axf measurements into tilings (#289)

* AxF: Add support for physical material measurements import into tiling values (new importer feature) per texture resource. Also add offset support.
On the importer side, an assumption of a unit of tangent space embedded in world space being 1 meter is used. For easier adjustments, all values are relative to a "Main Tiling" for the material.
This removes old materialU/V tiling and flakes tiling (AxF is still in preview though).
Update test scene to move old tiling property values into new properties so results don't change.
Update documentation.

* AxF measurements into tilings: Add changelog entry.

* AxF tilings - Fix typo that could set wrong specular lobe and coat normal tilings.

* Update the AlphaToMask test for AxF.

* Update all other editor and player platform references to match.

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* fix 9402screenshots on vulkan

* Update HDRP graphic test framework with Test Broken / TestFilter script (#393)

* Update hdrp testing framework

* Update hdrp testing framework 2

* Update TestFilterGenerator.cs

* revert change on shader graph

* Hd/add layer modification on generated emissive mesh for area light (#364)

* Add Layer modification of EmissiveMesh generated by area light

Add Layer handling on Generated Emissive Mesh

* Update CHANGELOG.md

* Add "same as Light" hability for layer and make it default

* Add destruction on move in hierarchy and retrieve existing to secure the NotEditable

* Add sync on Static too

* Also the copy the static drop down

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Disable async compute for D3D12 [Hold] (#301)

* disable async on d3d12

* Change doc

* Hd/fix nullref while removing decal component (#416)

* fix nullref on DecalComponent removed from contextual menu

* Update CHANGELOG.md

* Added a flow map parameter to HDRI Sky (#44)

* Added uv distorsion for HDRISky cubemap

* Editable flow strength

* Better parameter name. Smooth flow on cube edges

* Added a graphic test. Updated Changelog

* Updated documentation

* Added screenshots

* Wait frames for test

* Wait more

* Update screenshots again...

* Static test

* Static screenshots

* use multi_compile

* Renamed all parameters

* Procedural distortion

* Update doc

* Set all keywords

* Revert to old behaviour

* doc

* update test

* remove useless variable

* doc

* Fix lat long and procedural flow

* replace trig functions. Correct wind dir

* Dropdown and upper hemisphere fix

* Updated doc

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue with Uber Post process shader when alpha is enabled (#422)

* Fix issue with alpha being over 1 hence, leading to the final color being boosted due to alpha handling

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* replace fbx by the one from URP with no import errors (#427)

* Fix the bug (#430)

* Fix issue with corrupted values with Layer Lit when using multiply mode for vertex color (#418)

* Saturate vertex color to avoid negative values.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Renamed variables (#436)

* Fix issue with the resolve of motion vectors (#421)

* Hd/fix targets used in ongui in decalcomponent (#413)

* Fix Reset not resetting to default

* Delay MaterialEditor recreation to when possible

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implemented ray traced reflections for transparent objects. (#47)

* Implementation of ray traced reflections for transparent objects

* fix issue with ShowPrePassAndPostPass

* Change label for transparent SSR + change default value to false

* fix material not setup properly

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix custom pass graphic tests (#359)

* FIxed fullscreen custom pass test and re-enabled draw-renderers custom pass test

* Replaced canvas by a quad (more stable for graphic test)

* disable vulkan test as it is failing, need investigation

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Save scene-view camera settings in Editor prefs (#440)

* Sceneview camera settings are now saved in Editor prefs

* cosmetic changes

* add comment

* Small refactor to allow easily adding more prefs in the future

* fix comment

* fix comment 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue when switching back to custom sensor type in physical camera (#417)

* Fix issue when switching back to custom sensor type in physical camera

* make if comparison more explicit

* make if comparison more safe

* Per-camera history for the custom settings using a static dictionary

* Use ConditionalWeakTable instead of a Dictionary to avoid keeping alive deleted cameras

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix a null ref exception when running playmode tests  (#360)

* fix a null ref exception when running playmode tests with the render pipeline debug window opened

* use empty array

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed some gcalloc in the debug window (#445)

* Fixed some GCAlloc in the debug window

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update reference screenshot dx12

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617) (#443)

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617)

* Fix an issue with thin refraction SG and updating screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Create Shaders.meta

* Hdrp/small ui update (#423)

* Removed logic in the UI to disable parameters for contact shadows and fog volume components as it was going against the concept of the volume system.

* Update changelog.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update settings for DXR

* Update SetToCameraNearPlane.cs

* Add an option to disable shadow bias

* Don't query cull results if we don't have them (#449)

* test with a guard

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update screenshot (#463)

* Disable test HDRP_GraphicTestRunner.8105_BlendStates_b on DX12

* Update TestCaseFilters.asset

* Revert "Disable async compute for D3D12 [Hold] (#301)" (#469)

This reverts commit dc35b61d1d19ad1b363b8fbb582a076014e84b16.

* Revert "Add an option to disable shadow bias"

This reverts commit 2dfeab269baab914fd541f8fa358463d38334f6c.

* PBR Sky renderer now shares its internal precomputation table between different instances. (#250)

* PBR Sky renderer now shares its internal precomputation table between different instances.

* Update changelog

* Doc update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Makes sure quaternion is normalized and valid before converting to ma… (#331)

* Makes sure quaternion is normalized and valid before converting to matrix.

* Updated Changelo.

* Revert "Updated Changelo."

This reverts commit 60e65b50f3ab7fc241556e1c8f46b680defe36e2.

* Update CHANGELOG.md

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* New tooltip for camera background and fixed exposure when switching the background mode. (#415)

* Put more information in Camera background type tooltip and fixed inconsistent exposure behavior when changing bg type.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue causing not all baked reflection probes to be deleted  (#441)

* Clear the queue once filled up and push elements that failed to be pushed.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed asset preview being rendered white because of static lighting sky. (#462)

* Fixed an issue where asset preview could be rendered white because of static lighting sky.

Also fixed an issue where static lighting was not updated when removing the static lighting sky profile.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed null reference exception in LookDev when setting the SRP to None (#447)

* Fixed null reference exception in LookDev when setting the SRP to None

* Review feedback

* Review feedback 2

* Fix show cookie atlas debug mode (#475)

* Fix the show cookie atlas debug mode not displaying correctly

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Enable DXR playmode test (#472)

* Update upm-ci-hdrp_dxr.yml

* add hdrp dxr playmode test to all hdrp ci

* Update upm-ci-hdrp.yml

* Update upm-ci-hdrp.yml

* change planar atlas size to 1024

* Update upm-ci-hdrp.yml

* Update 802_SubSurfaceScatteringForward.png

* update scene

* update 5001 lighting

* fix exposure for 5001 path tracing test

* update player screenshots

* disable 5001 path tracing as it fail on yamato

* Fix few multi-editing issues with Emission UI (#473)

* Working but not nice

* Remove unecessary cruft

* tiny changes

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Re-enable cubemap thumbnail gen only for d3d11 (#487)

* re-enable thumbnail gen only for d3d11

* Update changelog

* try enable metal

* Update changelog and comment

* Check reflection probe null pointer before use. (case 1244047) (#456)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Remove max atlas probe alloc size in HDRP asset (#458)

* Fixed max alloc planar size not taking in account the max cache size

* Removed the max cache clamp on texture atlases

* Hd/fix undo environmentlibrary lookdev (#490)

* fix undo redo for environment library

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix vulkan test

* SSGI Implementation (#95)

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Change Sky in 5001 PT Test to HDRI Sky + update image (#502)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 802_SubSurfaceScatteringForward.unity

* fix vulkan warring and wrong meta

* Update upm-ci-hdrp.yml

* Fix merge issue with Test filter

* Use path relative to package for depth of field  (#523)

* Use absolute paths for dof include

* changelog

* Fix Light overlap (#444)

* Added the light overlap volume code

* Updated changelog

* Made outline thinner and removed the semi-transparent color of the light shape in light overlap debug mode

* Fixed documentation

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed API breakage. (#524)

* [Docs] Add missing documentation for Accumulation, AOVs, path-traced DoF (#532)

* AOV documentation

* minor change in the comments

* Accumulation documentation

* minor improvements

* Rewrite the AOV script. Now it is stand-alone.

* Typo

* Add path traced DoF documentation

* Reviewed AOV doc

* Reviewed accumulation doc

* Reviewed path-traced dof doc

* Add missing OnDestroy in example script

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>

* Restore some XR HDRP tests (#382)

* restored XR tests

* revert and split changes for temporal effects in another branch

* fix XR tests using volumetrics

* 8103 is still acting randomly

* try to set timeout to 30s to confirm it's working

* set timeout to 5 min per test for HDRP instead of default 3 min

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix taaFrameIndex and restore TAA tests for XR (#534)

* fix taaFrameIndex and temporal effects with the test suite

* increase waitFrames to 64 on the TemporalAA test scenes and enable XR compatibilty

* update ref images

* set waitFrames for HDRP runtime test scene

* reset camera before waiting

* update reference images from Yamato

* revert change to 001-HDTemplate

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255) (#488)

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255)

* Add missing inverse exposure multiplier

* Add support for batchmode (#542)

* Update 9301_MotionVectorsOff-Forward-Dynamic.png

* Fix custom pass prefabs (#419)

* Fix custom pass integration with prefabs

* Updated changelog

* Fixed prefab highlight not updated when adding/removing custom passes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Correctly dealloc/realloc resources when switching RenderGraph on and off. (#328)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* Reverted volumetric lighting changes and now render graph version uses the shared textures.

* Clone in the Asset folder when the original volume profile is in a re… (#508)

* Clone in the Asset folder when the original volume profile is in a read only package. (case 1154961)

* Added changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Adding code for history rejection for SSGI and adding a disabled test that should be used (test framework doesn't support) (#529)

* Custom Pass API (part 1) (#155)

* Begin to write the new custom pass API

* Begin to add custom pass utils shader

* Begin to add custom pass API test scenes

* Fixes for the Gaussian blur of the custom pass API

* Fix blur release

* Added custom pass copy test and fixed blur

* Added more custom pass documentation

* Added custom pass API graphic test reference image

* Added more obsolete things

* fix function visibility

* Updated changelog

* Added custom pass API test scene

* Fixed custom pass API doc

* Moved obsolete execute function into the new one

* Updated custom clear pass to use the new API

* Updated custom pass API test reference image

* update reference screenshots

* Fixed various scale issues in the blur custom pass API and updated reference screenshot

* Disable custom pass API test because it's unstable

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 3) (#98)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Converted raytracing lightloop variables to constant buffer.

* Converted RayTracing global variables to constant buffer.

* Removed obsolete comment

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Post merge fix

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Post merge fix

* Removed useless constant

* Crash fix

* Post merge fix

* Update 501_RecursiveRendering.png

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Hd/fix wizard defaultvolumeprofile creation (#565)

* Fix Wizard check on default volume profile

* Update CHANGELOG.md

* Small TAA Anti-flicker changes (#555)

* tweaks

* Change default so that is just high quality.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix central depth sampling in TAA (#564)

* Fix sampling of central depth

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Render Graph Async Compute (#552)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* WIP: refactoring of render graph compilation and resource allocation to prepare for async dependencies.

* Implementation of async resource synchronization.

* Fixed synchronization (only partial fix)

* Added default profiling sampler for render graph passes not providing one.

* Async WIP

* Fixed async synchronization by extending lifetime of resources freed during async pass to the first graphics task that wait for async.

* Post merge fix

* Cleanup

* Removed comment.

* Disabled async contact shadows again.

* Small cleanup

* Change exposure compensation in the default volume profile to 0. (#388)

* Change profile (And add missing setting)

* changelog

* Upgrade guide

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Histogram guided auto-exposure + debug modes (#372)

* some very incomplete stuff...

* sync point, rough working version

* Mostly working for now, moving onto debug vis and maybe revisit.

* Commit as I need branch switching - Start debug modes

* Add a bunch of debug mode and start of histogram

* Delimiters indicator with bars

* Add another option for percentile exttremes

* fix warning

* Moving debug modes

* Label bar separate (invisible otherwise)

* Push change to bar indicator

* remove fancy background of histogram frame

* Small triangle instead of indicator bars

* Target exposure indicator

* add some margin

* Add an X at center

* Metering PiP

* Draw tonemap curve and use tonemapped texture for view

* Share some code

* Curve remapping for histogram and fix some warning

* Some comments fixup

…
sebastienlagarde added a commit that referenced this pull request Jun 2, 2020
* Hdrp /fix reset of HDAdditionalLightData (#6453)

* fix type resolving issue when reseting HDAdditionalLightdata

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Add option to disable XR rendering on the camera settings (#6372)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix unused leftover (#6497)

* Split HDRP Test scene 1900 in two scene (#6498)

* Fix custom pass test reference images (#6512)

* Updated ref image for PT fog test (5005). (#6513)

* Review corrections for previous PR (#6494)

* Fixed an usage of a a compute buffer not bound (1229964) (#6476)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed scene selection pass not working proporly for meshes rendered with recursive rendering. (#6520)

Fixing an issue with sub-surface scattering and updating screenshots

* fix typo (#6500)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor. (#6493)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor.

* Update changelog.

* Additional fix for regular inspector

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems. (#6480)

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems.

* Update changelog

* Removed wrongly serialized fields in StaticLightingSky (#6441)

* Removed unnecessarily serialized members in StaticLightingSky component.

* Update changelog

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045). (#6504)

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045).

* Small fix to avoid overlapping

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>

* Fix a compilation issue to to a backport that did not go well. (#9)

* Fixed a regression in the ray traced indirect diffuse due to the new probe system. (#31)

* Clamp probes compression factor to 0 (#19)

* Clamp to positive

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* path validation when creating new volume profile (#36)

* Validate whole path when creating new profile

* Changelog

Co-authored-by: pavlos.mavridis <pavlos.mavridis@unity3d.com>

* Alpha to coverage frame setting (#33)

* Added FrameSettingsField.AlphaToMask

* Changelog + Documentation

* Changed field index

* Axf - Add specaa, add baked ao, fix reflection hierarchy for carpaint. (#41)

* AxF: Add support for specular AA from geometric curvature.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* AxF: Fix a typo that caused a bug for SVBRDF materials using precise Fresnel variants to always use full reflectance (1) for delta lights.

* AxF: Fix ignored reflection hierarchy + proxy intersection for carpaint. Add comments about problems if two directions are differents. Also add an option (disabled for now) to have BRDFColor with base angle of dominant direction. Rename some variables to make clearer direction on top for bottom lobe.

* AxF: Use get scalar roughness function to factor out  code.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* Add changelog entries.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement constant buffers for HDRP global variables. (#52)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Fixed color/depth pyramid debug

* Cleanup

* Small fix

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Add Performance framework package and HDRP performance tests (#45)

* Added performance test project

* Added new test scene system and memory p[rofiling

* Added shader analysis package

* Create symlink folder in library directory

* Update editor window

* Update shader analysis selection

* Added CLI utility to execute shader analysis reports

* Added example for the cli

* Removed problematic HDRP graphic test packages

* Add xml file to avoid IL2CPP stripping issues with test runner on the performance test(#5903)

* Update memory profiling test sample count

* Update shader graph support

* Updated project settings

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Use background job API and improved progress reporting

* Empty commit for Performance reports

* Updated ui

* Empty commit for Performance reports

* Empty commit for Performance reports

* Added filter on shader pass and variants

* Added option to only generate shader variants

* Empty commit for Performance reports

* Increase garlic heap size

* Begin to add build profiling

* Added more build info

* Working version of the shader compilation time reporting

* wip

* Removed useless cli

* Added util functions to name test and sample groups

* Renamed all markers and finished the build profiling

* Update test framework package

* Updated shader analysis tests

* Updated API

* Updated API and log command for compiler

* Updated api

* Use unknown metric instead of time one as workaround

* Enable the CPU profiling API

* Fix when deleting an analyzed shader

* Load reference on enable

* Added shader analysis package

* Fixed PS4 test name

* Fixed memory unit

* Added more test scenes

* Force performance tests to run on PS4  base

* Fixed sample units and use the same SampleGroup for multiple frames in counter test

* Begin to create the graphic perf test

* Finished the first version of performance graphic test package

* Fixed build tests

* Increase static analysis timeout

* More timeout

* Removed Lit shader static analysis

* Fix counters tests

* Added performance settings window in project settings

* Re-add Forward build test scene

* Fixed shader analysis filter

* PR fixes

* Begin to write the doc

* Finished V1 of the performance package doc

* Added grafana image and doc description

* Updated doc

* Maybe fix yamayo tests

* Update documentation for static analysis

* Added note on core asmdef

* Removed debug

* Fixed total memory

* Added tesselation counters test

* Tessellation shadow test

* Added per scene settings

* Added naming convention doc

* Fixed build issue on yamato

* Compilation fix to revert

* Begin to write the new doc page

* Completed performance doc

* Fixed build test

* Added Lit in static analysis

* Removed deferred static analysis

Co-authored-by: Frédéric Vauchelles <fredericv@unity3d.com>
Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: FrancescoC-Unity <francescoc@unity3d.com>

* Hdrp/fix/custom pass msaa rendering info (#42)

* Add an info box to warn about depth test artifacts when rendering object twice in custom passes with MSAA

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Custom Pass AOV API  (#50)

* Very basic AOV support for custom pass

* Updated AOV API for custom passes

* Changelog

* Update AOV API

* API improvements

* API documentation

* API doc, factorize all push texture calls in RenderCustomPass

* added default values and constructor for CustomPassAOVBuffers

* fix merge conflicts

* Fix GC alloc during rendering: use a for loop instead of findIndex+lambda

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 2) (#87)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Minor adjustments to TAA anti flicker (#97)

* small adjust to taa antiflicker

* Changelog

* Add support for lighting decomposition debug mode (+ AOV) (#99)

* Add lighting decomposition debug mode

* fix compil issue with probe volumes

* Fix usage of debug exposure in debug mode

* Add Test 3001 + fix reflection when sky  only

* remode _DebugExposure after merge

* remode _DebugExposure after merge

* fix merge issue

* add exposure compensation to Fixed exposure mode

* Update ColorUtils.cs

* Fix MSAA resolve when there is no motion vectors (#1)

* Fix MSAA resolve when there is no motion vectors

* Update CHANGELOG.md

* Cleaned up code

* use multi_compile

* Added _

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix switch shader compilation (#111)

* DXR Automated tests shader graph optimizations (#116)

* Split 902 scene into 5 scenes + SG optimizations

* Deleting old image for splited scene

* Fix various leaks in HDRP. (#113)

* Fixed a number of leak in HDRP

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix compile error with XR SubsystemManager (#107)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update SceneViewDrawMode.cs (#118)

* Follow references when deleting unloading unused assets on shader graph save (case 1230996)  (#114)

* Follow references when unloading unneeded assets

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix culling of reflection probes that change position (#121)

* Fix culling of reflection probes that change position

* Avoid null reference

* Avoid null reference - try 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix null reference when processing light probe (#131)

* Hdrp/runtimetests/ps4 fix (#129)

* Redo branch. Upgrade to 2020.1.0b5, reduce texture res, new HDRP asset.

* Switch to HDRI, increase Garlic heap size to 4gb, turn on "Stop NaNs" on camera, decrease render target res.

* Fix issues causing planar probes to be broken with multiple cameras in the scene (#4)

* Set appropriate render datas before rendering cameras

* changelog

* update doc

* comment update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix black screen in XR when HDRP package is present but not used (#137)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader). (#18)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader).

* update ssr screenshot

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for rasterized area light shadows in StackLit + slight refactor (#39)

* Added support for rasterized area light shadows in StackLit. Also refactor code to avoid early return (compiler bug) and fix lux meter debug mode when anisotropy for area lights is enabled.

* Doc: remove note about area light shadows for stacklit. [skipci]

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update the scripting API for FrameSettings, FrameSettingsOverrideMask and IBitArray (#110)

* Fix for white flash happening when changing lighting condition (like teleport) (#140)

* fix

* Update PostProcessSystem.cs

* Update CHANGELOG.md

* Add some clamp to fp16 for case where we don't have a NaN killer pass like planar reflection

* Update CHANGELOG.md

* adress PR feedback

* Fix default volume profile collapse (#138)

* Only re-create the volume profile editor when the asset is changed

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Bind missing buffer (#159)

Bind buffer to make sure that something is bound

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* AxF fix: Use CALCULATE_TEXTURE2D_LOD macro for future cross platform compatibility (Metal) (#162)

* Fixed shader warning on Xbox for ResolveStencilBuffer.compute (#163)

* fix warning

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Texture-weighted automatic exposure (#165)

* Exposure weighted by texture

* miss one in the renaming

* Doc update

* changelog

* doc update

* fix issue when disabling override

* Update 3003_LightingMode.unity

* Optimizing light loop part 2 (#2)

* Saving 10% off the PrepareLightForGPU

* 18% decrease in cost with this

* Around 12% cost shaving off GetLightData

* Around 6.5% win here

* Faster View matrix flip

* Missing *=-1

* About 7% win in preprocess light data

* Another small batch

* Small cleanup for first optimization pass

* Tiny bit more cleanup

* Make UpdateShadowRequests 12% cheaper

* Address review points

* A bit less than 20% win in ExtractPointLightData

* Add comment

* changelog

* 25% reduction of ExtractPointLightData

* 18% win in UpdateShadowRequest

* Another around 11% win for UpdateShadowRequest

* Move matrix multiply utils to core

* less lighttype computation

* Ooops

* fixup changelog

* Proper merge

* Missing leftovers .

* I'll manage to submit it all one day...

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for POM for emissive map (#51)

* Add option to use Base UV Mapping for emission

* Graphic test and doc

* Changelog

* Screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* HDRP Compositor Tool (#57)

* HDRP compositor tool, first code drop

documentation typo, move everything in compositor namespace

documentation typo

bugfix: dynamically add/remove properties when shadergraph changes

UI bugfix: properly compute height of UI elements

Missing tooltips, button to remove the compositor

toggle layers now works when player is paused

add chroma keying in the compositor test

Changelog, workflow bugfix

Use Unity's built'in icons

AOV bugfixes

AOV tooltip was wrong

bugfix: disabling the compositor now disables all compositor cameras

Proper monitoring of shadergraph changes

Updated test image + minor changes

Use better names for internal cameras

Bugfix: selecting the same res for a layer

Bugfix: deleting in-use texture layers from shadergraph now works

Bugfix: setting AOV to none now works properly

Use the term SubLayer in the UI

Improve AOV tooltip

Camera properties in layers are properly refreshed

UI: Move checkbox for overrides on the left side of the label

Remove default compositor camera when also deleting the compositor

Bugfixes: no orphans (delete all children when removing a layer), saving the layer list now works again

Hdrp/docs/compositor (#6013)

* Added docs review

* Changed fodler for images

Bugfixe: deleting layers

Bugfix: reordering layers

Bugfix: creating a new compositor fails

Remove redundant check

Fix wrong tooltip

Bugfix when deleting camera stack layers

Bugfix: handle window resize

Bugfix: sub-layers without parent when re-ordering, preview remains visible for disabled layers

Bugfix: more robust re-ordering (also moves children)

Bugfix: mark scene dirty when adding a compositor

Bugfix: display warning when alpha is configured properly

Change video layer icon

Bugfix: adding a layer filter does not reset the UI state

Bugfix: do not show composition properties that are marked with hide-in-inspector

Better / more clean layer injection implementation

minor code clean up

Clear color mode should only be editable on the first layer of a stack

Bugfix: setup of custom render was not always called

Bugfix: make sure additional camera data always exist in the layer/compositor camera

Change test id to 9800

Fix typos

mark scene dirty when removing or disabling the compositor

Default composition shadergraph and profile are now cloned

Serialized objects are now properly updated

minor code change: range checks

bugfix: error message appears at beginning

remove layer list from the asset file

add default camera layer when creating the compositor

replace getter function with c-sharp property

update asset in unit test

* move compositor unit test images

* remove leftover code

* review feedback #1

* review feedback 2

* review feedback - custom clear shader

* fix variable names that don't affect serialization

* fix serialized variable names

* bugfix: image layers and camera stacking

* use enum utility functions

* Use multicompile in motion blur + bug fix

* Make some variables private

* Update Compositor-User-Guide.md

* Review feedback

* fix muticompile for motion blur without alpha

* Update to new constant buffer / shadergraph api

* Player test image for the compositor

* Properly fill camera entries for global constant buffer

* Fix after rebase / function rename

* Make bg red for better debugging qnd cqtch unity exception

* Disable compositor test until we fix it on yamato

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* PBR shader gbuffer ztest (#43)

* Fixed PBR shader rendering in deferred

* Updated changelog

* Enable Light Baking Cookies by default + Warning (#79)

* Enable

* Fix typo

* Importance Sampling Pipeline (#84)

* Multiple Importance Sampling for HDRI Sky (Ray Generation)

* backup

* Multiple helpers

* Add RTHandleDeleter (delay in K frame the Release of a RTHandle)
* Fix GPU Operation when texture are too small
* Helper to manager Mariginal Texture in general (Tex2D, Tex2DArray, CubeMap, CubemapArray), ...
* Helper manager to generate one marginal per slice mip (one per frame)

* backup

* Add SampleCubemapProjectionNode (Project cubemap to Geometry)

* delete useless files

* update

* Cube To LatLong for CubeArray

* Functional generation

* Integration on ray tracer step

* Store HDRI Integral

* .

* Integrate HDRI Sky

* Update Importance Sampling

* Update Algorithm with Hemisphere Path

* Backup

* Update merge

* Update Merge 001

* Update Merge 002

* Update Merge 003

* Update Merge 004

* Update Merge 005

* Update Merge 006

* Update Merge 007

* Cleanup

* Update Integration of HDRISky Upper Hemisphere

* Remove useless dump images on disk

* Fix change log issue

* backup

* Backup

* Pre-Clean

* Pre-Clean

* Clean Up - remove file

* Remove Debug Code

* Update

* Update ChangeLog

* Clean Up

* update

* Clean up

* Remove useless texture

* Fix CGAlloc + Default Litetime of a RTHandle on the "RTHandleDeleter"

* CleanUp

* remove useless comment

* Add variable (Atmospherical) + Rename/Comment

* Move parameter to CS, Clean & move to private RTHandleDeleter

* Revert "Importance Sampling Pipeline (#84)"

This reverts commit 835d6a45c15ec7cbebde2aa385134a780c363e11.

* Reducing the number of variants for ray tracing when building a player (#94)

* - Replaced the DIFFUSE_LIGHTING_ONLY multicompile by a uniform.
- Removed the dynamic lightmap multicompile.
- Remove the LOD cross fade multi compile for ray tracing.
- Added a ray tracing mode option in the HDRP asset that allows to override and shader stripping.

* fix merge

* Update LayeredLit.shader

* Update LayeredLit.shader

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 3003_LightingMode.unity

* Fix compil issue with Enable BakeCookie

* Enable Light Baking Cookies by default + Warning - part 3 #79

* Avoid building the mip chain a second time for SSR for transparent objects.  (#93)

* - Avoid building the mip chain a second time for SSR for transparent objects.

* Update ScreenSpaceReflections.compute

* fix merge issue

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Scalable volumetrics [skip ci] (#34)

* Adaptive sampling works

* Compute the PDF

* URL

* Fix stuff up (except for profile preview)

* Attempt to fix previews

* Fix transmission

* Support quality levels

* Clean shader

* Remove 2 kernels

* PURGE

* Automatically adjust the number of samples at runtime

* Changelog

* Spaaaaace

* Add comment

* Spaaaaaace

* Rename

* Update ref img 1215, 1216, 1217

* Revert "Update ref img 1215, 1216, 1217"

This reverts commit 9aeb1fee054bc0e8a24b76525eb4af5dc2316088.

* Robust filter radius

* Solve the NaN problem

* Save 1x VGPR

* Update SSS defaults

* Add migration steps

* Volume resolution WIP

* Shorter names FTW

* Comment

* Dynamic slice count works

* Dynamic res works

* Changelog

* Stretch the limits

* Fix bug (order matters)

* Comments

* Remove volumetric quality presets

* Changelog

* Reorder

* Solve the mystery of RTs going NULL

* More robust bad history detection

* Update test scenes for High Quality

* More bug fixes

* More accurate comment

* Do not reinvent the wheel

* Fix broken test 1351

* Attempt to migrate HQ SSS settings

* Remove all branches

* Optimize a bit

* 7x WF

* Fix the rounding error

* Fix the rounding error

* Remove garbage allocation

* Fix typos

* Copy the SSS value

* Revert HDRP asset changes

* Fix default UI value

* Pass the right asset

* Update ref img 1215

* update reference screenshots

* Update CHANGELOG.md

* Update CHANGELOG.md

* Switch to RTHandles

* Rename textures used by the fog filtering pass

* Fix reprojection

* Fix shader warning + typo+

* fix another shader warning

Co-authored-by: EvgeniiG <7ee2cc898cca1b5fc49df740c2081dfc681e0a28>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fixed runtime test for Yamato (#177)

* Revert "Hdrp/runtimetests/ps4 fix (#129)"

This reverts commit 6fa52ab66c77d12088114577573fb45edfb2baba.

* Update runtime test to use way less memory to be able to run on console

* Fixed screenshots and test

* Fix HDRP Wizard windows not compatible with "preview" package version (#178)

* Fix async compute throwing errors because of global constant buffers. (#130)

* Replaced commands incompatible with async compute in light list build process.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Diffusion Profile and Material references in HDRP materials are now correctly exported to unity packages. (#136)

* Added external references inside a material to diffusion profiles and materials in order to handle Material export to a package correctly.

* Update changelog

* Removed useless test

* Updated changelog message to add more info

* Refactoring to share the code for light list building better between probe volumes and lights. (#156)

* Refactoring to share the code for light list building better between probe volumes and lights.

* Remove commented code

* Fixed constant buffer update

* Fixed kernel used for cluster generation

* Fixed cluster kernel for oblique projection

* Restored a resize test for XR

* Removed unexpected Shuriken folder in Test Project

* Add range attenuation to box-shaped spotlights [Skip CI] (#101)

* Added range attenuation to box-shaped spotlights

* Update tests

* Update CHANGELOG.md

* Remove file duplication

* Added box range attenuation test

* Clarify documentation

* Update screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/decal transparent mip selection 1222437 (#96)

* Improve MIP selection for decals to transparent

* Add change logs

* Communize Helper (ComputeTextureLOD{Bias?}(...)

* Update

* Rename

* Comment

* fix white space and 0.f

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix cookie atlas alloc for cone spot lights (#187)

* Fix unneeded cookie texture allocation for cone stop lights

* Updated changelog

* Fix cone spot light cookie

* update template (#189)

* Hdrp/combine material samples with shader samples [Skip CI] (#117)

* Fix MaterialBalls having same guid issue

material samples and shader samples had the same prefabs with the same guids causing an issue when the guids are reassigned

* Merge material samples and shader samples

Merge shader samples into material samples

* Update scene visuals

update frame prefab with new visual style
update scene to suit visual style

* Fix spelling and grammatical errors

alterates -> alters - this one isn't technically an error but alterates isn't used in common English
oder -> order
accross -> across

* Create fabric scene

create scene and rendering settings

* Add fabric ball prefab with fabric mesh

Add fabric ball prefab with fabric mesh

* Add threadmaps to project

Add threadmaps to project

* Add materials to project

Add materials to project
Linen
Nylon
Satin
Velvet
Wool

* Add scenes for hair and fabric and create prefabs for lighting and hair display

Add scenes for hair and fabric
Create prefabs for lighting and hair display
Fix Decal prefab

* Update scene and fix errors with materials that don't use threadmaps

Update scene and fix errors with materials that don't use threadmaps

* Update fabric materials and textures

Update fabric materials and textures

* Clean up project and add additional materials

Add ShotSilk material
Modify materials
Rename textures
Cleanup changes
Add information to fabric scene

* Update and organize scenes

Update and organize scenes

* Update Fabric scene , fix spelling errors and change to american spelling

Update Fabric scene , fix spelling errors and change to american spelling

* Update information in fabric scene

* Update scene lighting

Update scene lighting

* Align lighting and rendering across scenes, remove old sample scene

Create prefabs for common elements
Change sky gradient
Remove unused settings
Remove old sample scene

* Update textures and meshes

Update denim color to tga file format to conform with other files
Update cloth mesh to have better normals
Update scene after changes to prefab

* Update cloth mesh

Update cloth mesh

* Update scene text and cloth mesh

Update scene text and cloth mesh

* Update Changelog

Update Changelog

* Fix bug with material ball and parallax occlusion mapping due to mesh tangents

Fix bug with material ball and parallax occlusion mapping due to mesh tangents

* Remove shader samples from package json and update material samples description

Remove shader samples from package json and update material samples description

* Update sample content documentation

* Update scene text

* Move files in mesh folder to appropriate folders and remove additional material ball prefab

* Add micro shadows

* Update 1301_StackLitSG.png

* Change guid reference in MaterialSamples scene

Co-authored-by: Sean Puller <sean.puller@unity3d.com>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* DisplayInfo attribute. (#172)

* Added DisplayInfo attribute for generic display info.

* Implemented volume parameter sorting for default inspector.

* Update changelog

* Named parameters for tuples in Volume Component Editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Compute Buffer management for render graph (#194)

* Added import and usage of Compute Buffer API to render graph.

* Missing clear of Compute buffer write/read lists.

* Another missing clear.

* Light loop compute buffers WIP

# Conflicts:
#	com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs
#	com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs

* Reverted Render Graph debug registering by default.

* Post merge fixes

* RenderPass debugger visualization and fixed null profiling sampler

* Missing using directive.

* Post merge fix

* Use new light list build ouptut for deferred lighting pass

* Use new light list build ouptut for contact shadow pass

* Use new light list build ouptut for volumetric passes

* Simplify the tooltip (#188)

* Added MovedFrom attribute (#182)

* Contact shadow min distance + fix scalarization code  (#150)

* Min distance

* editor update

* Update doc

* Changelog

* fix some ui issues

* Update docs according to UI changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* TAA docs update (#132)

* update docs

* pr review

* Added indentation as dashed

* Hdrp/deferred shadow quality multi compile (#5)

* shadow mask

* Changelog

* Have shadow quality as multi_compile

* make old API obsolete

* Update comment

* Comment on pre processor

* Update docs

* Change shader versions of deferred

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/path traced dof (#164)

* Path traced DoF implementation

* Move focus distance from volume to physical camera

* Small fixes

* Small fixes in math

* Small fixes in math 2

* Compile error

* Make new functions private

* Cosmetic changes

* Move viewport matrix function to utils

* Keep focus distance in the volume

* Do not enable in scene view camera

* Changelog

* Review feedback

* Use scale and bias instead of matrix mul for the viewport transform

* Bugfix: post process DoF should still be executed for non-physical mode

* Typo

* avoid null reference when physical params is null

* remove redundant check

* Update HDRenderPipelineAsset.asset (#210)

* Fixed volume debug menu in playmode (#149)

* Refresh widgets in play mode. Added doc. Reduced refresh rate

* Changelog

* Added some code doc

* Fix refresh rate and scroll over hidden volumes in play mode

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added a new test scene for physical camera DoF in Pathtracer (#211)

* Fixed issue when toggling anything in HDRP asset that will produce an error (case 1238155) (#215)

* fix bug 1238155

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* Update HDRenderPipelineAsset.cs

* Fix warning in PCSS code when using Vulkan (#229)

* Fix warning

* changelog

* Fix decal register + obsolete cookie API (#195)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Fix decal shader

* Fixed HDRP cookie

* Update HDLightUI.cs

* correctly fix decal

* Update CHANGELOG.md

* Update ColorAdjustments.cs

* Update ShaderVariablesDecal.hlsl

* fix compil on 2020.1

* Update HDRP_Test_Def.asset

* add test for 3RT decal

* update decal test

* Do shadow code cleanup + Fix Yamato after PR #5 Multi compile shadow (#244)

* Do code cleanup + bugfix shadow

* Update Upgrading-from-2020.1-to-2020.2.md

* Update LightLoopDef.hlsl

* Fixed issues with path traced SSS and accumulation. (#257)

* Add missing documentation for AOV API params (#254)

* Hdrp/public static sky (#253)

* Made the static lighting sky public so that users can change it by script for baking purpose.

* Update changelog

* Update HDAdditionalLightData.Migration.cs (#269)

* Add missing docs attributes (#271)

* Fixed an error about procedural sky being logged by mistake. (#273)

* Fixed an error about procedural sky being logged by mistake.

* Update changelog

* Fix quality settings UI and shadow mask UI (#122)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* fix typo

* fix typo 2

* Updated raytracing async compute warning. (#274)

* Made more explicit the warning about raytracing and asynchronous compute. Also fixed the condition in which it appears.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a null ref exception in static sky when the default volume profile is invalid. (#278)

* Fixed a null ref exception in static sky when the default volume profile is invalid.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added SubScenes cache to be compatible with HDRP/staging (#287)

* Update 2002_Light_DynamicMix.unity (#292)

* Update HDCubemapInspector.cs (#296)

* increase tolerance for test 5008 in VR due to recent changes (#311)

* Upate screenshot for HDRP DXR Test (#312)

* Fix SSS code doc (#319)

* Fix issue with screen-space shadows not enabled with RT off (#139)

* Fix issue with screen_space shadows not enabled with RT off

* Proper fix: only keep directional screen space shadows with RT off

* Fix shadow debug mode

* cosmetic changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a performance issue with stochastic ray traced area shadows. (#300)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix bad merge of the light loop optimization PR (an optimization was undone) (#321)

* Don't compute light type

* Typo

* Camera override API (#170)

* Added the API to override camera rendering

* Updated changelog

* Fixed compilation issue

* Factorized protection function

* Fixed camera override in scene view

* Added isPersistant bool in HDCamera and allocateHistoryBuffers param in Update

* Fixed camera override with dynamic resolution and moved it to internal

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix cookie srgb (#297)

* Fixed srgb flag not updating the cookie atlas

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix flickering lighting in the scene and game view when lookdev is open. (#290)

* Fixed flickering of the game/scene view when lookdev is running.

* Update changelog.

* Added a function to reset the reference size of RTHandle systems. (#299)

* Added a function (HDRenderPipeline.ResetRTHandleReferenceSize) to reset the reference size of RTHandle systems.

* Update changelog

* Fix issue with ambient probe not being correct with OnEnable/OnDemand probes (#291)

* render until ambient probe is ready

* changelog

* remove comment

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix Motion Vectors written by transparent when rendering with MSAA (#315)

* Add resolve if needed of transparent movec

* rename

* rendergraph

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/reflection probe scale perf (#252)

* Use IEnumerable as interface for HDProbeSystem

* Added a perf test for probe registration

* Use HashSet instead of List to store HDProbes

* Updated planar reflection to use a HashSet

* Updated changelog

* Fix invalid length check

* Fixed build of planar probe array

* Fixed GC alloc issue

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* [9.x.x] Axf measurements into tilings (#289)

* AxF: Add support for physical material measurements import into tiling values (new importer feature) per texture resource. Also add offset support.
On the importer side, an assumption of a unit of tangent space embedded in world space being 1 meter is used. For easier adjustments, all values are relative to a "Main Tiling" for the material.
This removes old materialU/V tiling and flakes tiling (AxF is still in preview though).
Update test scene to move old tiling property values into new properties so results don't change.
Update documentation.

* AxF measurements into tilings: Add changelog entry.

* AxF tilings - Fix typo that could set wrong specular lobe and coat normal tilings.

* Update the AlphaToMask test for AxF.

* Update all other editor and player platform references to match.

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* fix 9402screenshots on vulkan

* Update HDRP graphic test framework with Test Broken / TestFilter script (#393)

* Update hdrp testing framework

* Update hdrp testing framework 2

* Update TestFilterGenerator.cs

* revert change on shader graph

* Hd/add layer modification on generated emissive mesh for area light (#364)

* Add Layer modification of EmissiveMesh generated by area light

Add Layer handling on Generated Emissive Mesh

* Update CHANGELOG.md

* Add "same as Light" hability for layer and make it default

* Add destruction on move in hierarchy and retrieve existing to secure the NotEditable

* Add sync on Static too

* Also the copy the static drop down

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Disable async compute for D3D12 [Hold] (#301)

* disable async on d3d12

* Change doc

* Hd/fix nullref while removing decal component (#416)

* fix nullref on DecalComponent removed from contextual menu

* Update CHANGELOG.md

* Added a flow map parameter to HDRI Sky (#44)

* Added uv distorsion for HDRISky cubemap

* Editable flow strength

* Better parameter name. Smooth flow on cube edges

* Added a graphic test. Updated Changelog

* Updated documentation

* Added screenshots

* Wait frames for test

* Wait more

* Update screenshots again...

* Static test

* Static screenshots

* use multi_compile

* Renamed all parameters

* Procedural distortion

* Update doc

* Set all keywords

* Revert to old behaviour

* doc

* update test

* remove useless variable

* doc

* Fix lat long and procedural flow

* replace trig functions. Correct wind dir

* Dropdown and upper hemisphere fix

* Updated doc

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue with Uber Post process shader when alpha is enabled (#422)

* Fix issue with alpha being over 1 hence, leading to the final color being boosted due to alpha handling

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* replace fbx by the one from URP with no import errors (#427)

* Fix the bug (#430)

* Fix issue with corrupted values with Layer Lit when using multiply mode for vertex color (#418)

* Saturate vertex color to avoid negative values.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Renamed variables (#436)

* Fix issue with the resolve of motion vectors (#421)

* Hd/fix targets used in ongui in decalcomponent (#413)

* Fix Reset not resetting to default

* Delay MaterialEditor recreation to when possible

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implemented ray traced reflections for transparent objects. (#47)

* Implementation of ray traced reflections for transparent objects

* fix issue with ShowPrePassAndPostPass

* Change label for transparent SSR + change default value to false

* fix material not setup properly

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix custom pass graphic tests (#359)

* FIxed fullscreen custom pass test and re-enabled draw-renderers custom pass test

* Replaced canvas by a quad (more stable for graphic test)

* disable vulkan test as it is failing, need investigation

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Save scene-view camera settings in Editor prefs (#440)

* Sceneview camera settings are now saved in Editor prefs

* cosmetic changes

* add comment

* Small refactor to allow easily adding more prefs in the future

* fix comment

* fix comment 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue when switching back to custom sensor type in physical camera (#417)

* Fix issue when switching back to custom sensor type in physical camera

* make if comparison more explicit

* make if comparison more safe

* Per-camera history for the custom settings using a static dictionary

* Use ConditionalWeakTable instead of a Dictionary to avoid keeping alive deleted cameras

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix a null ref exception when running playmode tests  (#360)

* fix a null ref exception when running playmode tests with the render pipeline debug window opened

* use empty array

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed some gcalloc in the debug window (#445)

* Fixed some GCAlloc in the debug window

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update reference screenshot dx12

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617) (#443)

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617)

* Fix an issue with thin refraction SG and updating screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Create Shaders.meta

* Hdrp/small ui update (#423)

* Removed logic in the UI to disable parameters for contact shadows and fog volume components as it was going against the concept of the volume system.

* Update changelog.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update settings for DXR

* Update SetToCameraNearPlane.cs

* Add an option to disable shadow bias

* Don't query cull results if we don't have them (#449)

* test with a guard

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update screenshot (#463)

* Disable test HDRP_GraphicTestRunner.8105_BlendStates_b on DX12

* Update TestCaseFilters.asset

* Revert "Disable async compute for D3D12 [Hold] (#301)" (#469)

This reverts commit dc35b61d1d19ad1b363b8fbb582a076014e84b16.

* Revert "Add an option to disable shadow bias"

This reverts commit 2dfeab269baab914fd541f8fa358463d38334f6c.

* PBR Sky renderer now shares its internal precomputation table between different instances. (#250)

* PBR Sky renderer now shares its internal precomputation table between different instances.

* Update changelog

* Doc update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Makes sure quaternion is normalized and valid before converting to ma… (#331)

* Makes sure quaternion is normalized and valid before converting to matrix.

* Updated Changelo.

* Revert "Updated Changelo."

This reverts commit 60e65b50f3ab7fc241556e1c8f46b680defe36e2.

* Update CHANGELOG.md

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* New tooltip for camera background and fixed exposure when switching the background mode. (#415)

* Put more information in Camera background type tooltip and fixed inconsistent exposure behavior when changing bg type.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue causing not all baked reflection probes to be deleted  (#441)

* Clear the queue once filled up and push elements that failed to be pushed.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed asset preview being rendered white because of static lighting sky. (#462)

* Fixed an issue where asset preview could be rendered white because of static lighting sky.

Also fixed an issue where static lighting was not updated when removing the static lighting sky profile.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed null reference exception in LookDev when setting the SRP to None (#447)

* Fixed null reference exception in LookDev when setting the SRP to None

* Review feedback

* Review feedback 2

* Fix show cookie atlas debug mode (#475)

* Fix the show cookie atlas debug mode not displaying correctly

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Enable DXR playmode test (#472)

* Update upm-ci-hdrp_dxr.yml

* add hdrp dxr playmode test to all hdrp ci

* Update upm-ci-hdrp.yml

* Update upm-ci-hdrp.yml

* change planar atlas size to 1024

* Update upm-ci-hdrp.yml

* Update 802_SubSurfaceScatteringForward.png

* update scene

* update 5001 lighting

* fix exposure for 5001 path tracing test

* update player screenshots

* disable 5001 path tracing as it fail on yamato

* Fix few multi-editing issues with Emission UI (#473)

* Working but not nice

* Remove unecessary cruft

* tiny changes

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Re-enable cubemap thumbnail gen only for d3d11 (#487)

* re-enable thumbnail gen only for d3d11

* Update changelog

* try enable metal

* Update changelog and comment

* Check reflection probe null pointer before use. (case 1244047) (#456)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Remove max atlas probe alloc size in HDRP asset (#458)

* Fixed max alloc planar size not taking in account the max cache size

* Removed the max cache clamp on texture atlases

* Hd/fix undo environmentlibrary lookdev (#490)

* fix undo redo for environment library

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix vulkan test

* SSGI Implementation (#95)

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Change Sky in 5001 PT Test to HDRI Sky + update image (#502)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 802_SubSurfaceScatteringForward.unity

* fix vulkan warring and wrong meta

* Update upm-ci-hdrp.yml

* Fix merge issue with Test filter

* Use path relative to package for depth of field  (#523)

* Use absolute paths for dof include

* changelog

* Fix Light overlap (#444)

* Added the light overlap volume code

* Updated changelog

* Made outline thinner and removed the semi-transparent color of the light shape in light overlap debug mode

* Fixed documentation

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed API breakage. (#524)

* [Docs] Add missing documentation for Accumulation, AOVs, path-traced DoF (#532)

* AOV documentation

* minor change in the comments

* Accumulation documentation

* minor improvements

* Rewrite the AOV script. Now it is stand-alone.

* Typo

* Add path traced DoF documentation

* Reviewed AOV doc

* Reviewed accumulation doc

* Reviewed path-traced dof doc

* Add missing OnDestroy in example script

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>

* Restore some XR HDRP tests (#382)

* restored XR tests

* revert and split changes for temporal effects in another branch

* fix XR tests using volumetrics

* 8103 is still acting randomly

* try to set timeout to 30s to confirm it's working

* set timeout to 5 min per test for HDRP instead of default 3 min

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix taaFrameIndex and restore TAA tests for XR (#534)

* fix taaFrameIndex and temporal effects with the test suite

* increase waitFrames to 64 on the TemporalAA test scenes and enable XR compatibilty

* update ref images

* set waitFrames for HDRP runtime test scene

* reset camera before waiting

* update reference images from Yamato

* revert change to 001-HDTemplate

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255) (#488)

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255)

* Add missing inverse exposure multiplier

* Add support for batchmode (#542)

* Update 9301_MotionVectorsOff-Forward-Dynamic.png

* Fix custom pass prefabs (#419)

* Fix custom pass integration with prefabs

* Updated changelog

* Fixed prefab highlight not updated when adding/removing custom passes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Correctly dealloc/realloc resources when switching RenderGraph on and off. (#328)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* Reverted volumetric lighting changes and now render graph version uses the shared textures.

* Clone in the Asset folder when the original volume profile is in a re… (#508)

* Clone in the Asset folder when the original volume profile is in a read only package. (case 1154961)

* Added changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Adding code for history rejection for SSGI and adding a disabled test that should be used (test framework doesn't support) (#529)

* Custom Pass API (part 1) (#155)

* Begin to write the new custom pass API

* Begin to add custom pass utils shader

* Begin to add custom pass API test scenes

* Fixes for the Gaussian blur of the custom pass API

* Fix blur release

* Added custom pass copy test and fixed blur

* Added more custom pass documentation

* Added custom pass API graphic test reference image

* Added more obsolete things

* fix function visibility

* Updated changelog

* Added custom pass API test scene

* Fixed custom pass API doc

* Moved obsolete execute function into the new one

* Updated custom clear pass to use the new API

* Updated custom pass API test reference image

* update reference screenshots

* Fixed various scale issues in the blur custom pass API and updated reference screenshot

* Disable custom pass API test because it's unstable

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 3) (#98)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Converted raytracing lightloop variables to constant buffer.

* Converted RayTracing global variables to constant buffer.

* Removed obsolete comment

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Post merge fix

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Post merge fix

* Removed useless constant

* Crash fix

* Post merge fix

* Update 501_RecursiveRendering.png

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Hd/fix wizard defaultvolumeprofile creation (#565)

* Fix Wizard check on default volume profile

* Update CHANGELOG.md

* Small TAA Anti-flicker changes (#555)

* tweaks

* Change default so that is just high quality.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix central depth sampling in TAA (#564)

* Fix sampling of central depth

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Render Graph Async Compute (#552)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* WIP: refactoring of render graph compilation and resource allocation to prepare for async dependencies.

* Implementation of async resource synchronization.

* Fixed synchronization (only partial fix)

* Added default profiling sampler for render graph passes not providing one.

* Async WIP

* Fixed async synchronization by extending lifetime of resources freed during async pass to the first graphics task that wait for async.

* Post merge fix

* Cleanup

* Removed comment.

* Disabled async contact shadows again.

* Small cleanup

* Change exposure compensation in the default volume profile to 0. (#388)

* Change profile (And add missing setting)

* changelog

* Upgrade guide

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Histogram guided auto-exposure + debug modes (#372)

* some very incomplete stuff...

* sync point, rough working version

* Mostly working for now, moving onto debug vis and maybe revisit.

* Commit as I need branch switching - Start debug modes

* Add a bunch of debug mode and start of histogram

* Delimiters indicator with bars

* Add another option for percentile exttremes

* fix warning

* Moving debug modes

* Label bar separate (invisible otherwise)

* Push change to bar indicator

* remove fancy background of histogram frame

* Small triangle instead of indicator bars

* Target exposure indicator

* add some margin

* Add an X at center

* Metering PiP

* Draw tonemap curve and use tonemapped texture for view

* Share some code

* Curve remapping for histogram and fix some warning

* Some comments fixup

* Simple comment changes

* Revert debug symbol in shader

* Changelog

* review fixups

* Review feedback

* Bad merge fixup

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Refactor shadow caching system (#554)

* Very debuggy code just start nothing functional or usable yet.

* remove old cached stuff (not finished, need switch branch)

* revert wrongful commit

* A bit of restructuring

* A good point as any to sync up

* sync

* Move from old repo...

* fix regression

* Handle case in which shadow doesn't fit

* leftover not committed

* Fix some issues with culling of point lights from the

* preliminary support for cascaded shadows

* Fix some issue with the directional

* Subshadow update

* Add some guards, some debug and the new C++ api for infinite bounds

* Some UI for the resolution

* Fix merge issues

* Update debug cs.hlsl

* Render graph stuff and some leftover removal

* micro cleanup

* Fix behaviour when defragging and excess lights are there

* Public API

* Remove dbg names

* Bug on debug view of area atlas

* Missing field on new PCSS signature for directional

* More public API

* Refresh cached shadows on resolution changes.

* merge conflicts patchup

* Fix missing shadows on normal shadows

* Small cleanup and turning positive the doesn'tHavePlacement

* Fix case on switching light type and issue with non-rectangle area lights

* tentative fix for error on build

* Debug logging

* update naming of debug

* Fix issue with double inclusion

* DOCS

* upgrade guide

* post merge fixups

* leftover comment

* changelog

* Doc changes in upgrade guide

* have print debug info only in editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update reference screenshots

* VFX test: Replace auto exposure by fix exposure in ParticleRibbonTest

* Fixed light layers not correctly disabled when the lightlayers is set to Nothing and Lightlayers isn't enabled in HDRP Asset (#584)

* remove useless code for cookie

* Hdrp/fix camera switcher (#591)

* Fixed a wrong condition in camera switcher, potentially causing out of bound exceptions.

* update changelog.

* fix issue that prevents PS4 from building (#596)

* Removed experimental namespace for ray tracing code. (#612)

* Hdrp/multi view pt (#518)

* Multiview (scene + game) path tracing accumulation.

* Cosmetic.

* Modifications to address comments in PR.

* Updated PT fog test.

* Updated Changelog.

* Fixed issue with unlit shader graphs in path-traced mode.

* Update CHANGELOG.md

* Update HDUnlitSubTarget.cs

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix Look Dev default profile not updating correctly (#630)

* Fixed an issue where editing the lookdev default profile would not reflect directly in the…
sebastienlagarde added a commit that referenced this pull request Jun 2, 2020
* Hdrp /fix reset of HDAdditionalLightData (#6453)

* fix type resolving issue when reseting HDAdditionalLightdata

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Add option to disable XR rendering on the camera settings (#6372)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix unused leftover (#6497)

* Split HDRP Test scene 1900 in two scene (#6498)

* Fix custom pass test reference images (#6512)

* Updated ref image for PT fog test (5005). (#6513)

* Review corrections for previous PR (#6494)

* Fixed an usage of a a compute buffer not bound (1229964) (#6476)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed scene selection pass not working proporly for meshes rendered with recursive rendering. (#6520)

Fixing an issue with sub-surface scattering and updating screenshots

* fix typo (#6500)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor. (#6493)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor.

* Update changelog.

* Additional fix for regular inspector

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems. (#6480)

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems.

* Update changelog

* Removed wrongly serialized fields in StaticLightingSky (#6441)

* Removed unnecessarily serialized members in StaticLightingSky component.

* Update changelog

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045). (#6504)

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045).

* Small fix to avoid overlapping

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>

* Fix a compilation issue to to a backport that did not go well. (#9)

* Fixed a regression in the ray traced indirect diffuse due to the new probe system. (#31)

* Clamp probes compression factor to 0 (#19)

* Clamp to positive

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* path validation when creating new volume profile (#36)

* Validate whole path when creating new profile

* Changelog

Co-authored-by: pavlos.mavridis <pavlos.mavridis@unity3d.com>

* Alpha to coverage frame setting (#33)

* Added FrameSettingsField.AlphaToMask

* Changelog + Documentation

* Changed field index

* Axf - Add specaa, add baked ao, fix reflection hierarchy for carpaint. (#41)

* AxF: Add support for specular AA from geometric curvature.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* AxF: Fix a typo that caused a bug for SVBRDF materials using precise Fresnel variants to always use full reflectance (1) for delta lights.

* AxF: Fix ignored reflection hierarchy + proxy intersection for carpaint. Add comments about problems if two directions are differents. Also add an option (disabled for now) to have BRDFColor with base angle of dominant direction. Rename some variables to make clearer direction on top for bottom lobe.

* AxF: Use get scalar roughness function to factor out  code.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* Add changelog entries.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement constant buffers for HDRP global variables. (#52)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Fixed color/depth pyramid debug

* Cleanup

* Small fix

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Add Performance framework package and HDRP performance tests (#45)

* Added performance test project

* Added new test scene system and memory p[rofiling

* Added shader analysis package

* Create symlink folder in library directory

* Update editor window

* Update shader analysis selection

* Added CLI utility to execute shader analysis reports

* Added example for the cli

* Removed problematic HDRP graphic test packages

* Add xml file to avoid IL2CPP stripping issues with test runner on the performance test(#5903)

* Update memory profiling test sample count

* Update shader graph support

* Updated project settings

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Use background job API and improved progress reporting

* Empty commit for Performance reports

* Updated ui

* Empty commit for Performance reports

* Empty commit for Performance reports

* Added filter on shader pass and variants

* Added option to only generate shader variants

* Empty commit for Performance reports

* Increase garlic heap size

* Begin to add build profiling

* Added more build info

* Working version of the shader compilation time reporting

* wip

* Removed useless cli

* Added util functions to name test and sample groups

* Renamed all markers and finished the build profiling

* Update test framework package

* Updated shader analysis tests

* Updated API

* Updated API and log command for compiler

* Updated api

* Use unknown metric instead of time one as workaround

* Enable the CPU profiling API

* Fix when deleting an analyzed shader

* Load reference on enable

* Added shader analysis package

* Fixed PS4 test name

* Fixed memory unit

* Added more test scenes

* Force performance tests to run on PS4  base

* Fixed sample units and use the same SampleGroup for multiple frames in counter test

* Begin to create the graphic perf test

* Finished the first version of performance graphic test package

* Fixed build tests

* Increase static analysis timeout

* More timeout

* Removed Lit shader static analysis

* Fix counters tests

* Added performance settings window in project settings

* Re-add Forward build test scene

* Fixed shader analysis filter

* PR fixes

* Begin to write the doc

* Finished V1 of the performance package doc

* Added grafana image and doc description

* Updated doc

* Maybe fix yamayo tests

* Update documentation for static analysis

* Added note on core asmdef

* Removed debug

* Fixed total memory

* Added tesselation counters test

* Tessellation shadow test

* Added per scene settings

* Added naming convention doc

* Fixed build issue on yamato

* Compilation fix to revert

* Begin to write the new doc page

* Completed performance doc

* Fixed build test

* Added Lit in static analysis

* Removed deferred static analysis

Co-authored-by: Frédéric Vauchelles <fredericv@unity3d.com>
Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: FrancescoC-Unity <francescoc@unity3d.com>

* Hdrp/fix/custom pass msaa rendering info (#42)

* Add an info box to warn about depth test artifacts when rendering object twice in custom passes with MSAA

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Custom Pass AOV API  (#50)

* Very basic AOV support for custom pass

* Updated AOV API for custom passes

* Changelog

* Update AOV API

* API improvements

* API documentation

* API doc, factorize all push texture calls in RenderCustomPass

* added default values and constructor for CustomPassAOVBuffers

* fix merge conflicts

* Fix GC alloc during rendering: use a for loop instead of findIndex+lambda

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 2) (#87)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Minor adjustments to TAA anti flicker (#97)

* small adjust to taa antiflicker

* Changelog

* Add support for lighting decomposition debug mode (+ AOV) (#99)

* Add lighting decomposition debug mode

* fix compil issue with probe volumes

* Fix usage of debug exposure in debug mode

* Add Test 3001 + fix reflection when sky  only

* remode _DebugExposure after merge

* remode _DebugExposure after merge

* fix merge issue

* add exposure compensation to Fixed exposure mode

* Update ColorUtils.cs

* Fix MSAA resolve when there is no motion vectors (#1)

* Fix MSAA resolve when there is no motion vectors

* Update CHANGELOG.md

* Cleaned up code

* use multi_compile

* Added _

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix switch shader compilation (#111)

* DXR Automated tests shader graph optimizations (#116)

* Split 902 scene into 5 scenes + SG optimizations

* Deleting old image for splited scene

* Fix various leaks in HDRP. (#113)

* Fixed a number of leak in HDRP

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix compile error with XR SubsystemManager (#107)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update SceneViewDrawMode.cs (#118)

* Follow references when deleting unloading unused assets on shader graph save (case 1230996)  (#114)

* Follow references when unloading unneeded assets

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix culling of reflection probes that change position (#121)

* Fix culling of reflection probes that change position

* Avoid null reference

* Avoid null reference - try 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix null reference when processing light probe (#131)

* Hdrp/runtimetests/ps4 fix (#129)

* Redo branch. Upgrade to 2020.1.0b5, reduce texture res, new HDRP asset.

* Switch to HDRI, increase Garlic heap size to 4gb, turn on "Stop NaNs" on camera, decrease render target res.

* Fix issues causing planar probes to be broken with multiple cameras in the scene (#4)

* Set appropriate render datas before rendering cameras

* changelog

* update doc

* comment update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix black screen in XR when HDRP package is present but not used (#137)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader). (#18)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader).

* update ssr screenshot

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for rasterized area light shadows in StackLit + slight refactor (#39)

* Added support for rasterized area light shadows in StackLit. Also refactor code to avoid early return (compiler bug) and fix lux meter debug mode when anisotropy for area lights is enabled.

* Doc: remove note about area light shadows for stacklit. [skipci]

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update the scripting API for FrameSettings, FrameSettingsOverrideMask and IBitArray (#110)

* Fix for white flash happening when changing lighting condition (like teleport) (#140)

* fix

* Update PostProcessSystem.cs

* Update CHANGELOG.md

* Add some clamp to fp16 for case where we don't have a NaN killer pass like planar reflection

* Update CHANGELOG.md

* adress PR feedback

* Fix default volume profile collapse (#138)

* Only re-create the volume profile editor when the asset is changed

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Bind missing buffer (#159)

Bind buffer to make sure that something is bound

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* AxF fix: Use CALCULATE_TEXTURE2D_LOD macro for future cross platform compatibility (Metal) (#162)

* Fixed shader warning on Xbox for ResolveStencilBuffer.compute (#163)

* fix warning

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Texture-weighted automatic exposure (#165)

* Exposure weighted by texture

* miss one in the renaming

* Doc update

* changelog

* doc update

* fix issue when disabling override

* Update 3003_LightingMode.unity

* Optimizing light loop part 2 (#2)

* Saving 10% off the PrepareLightForGPU

* 18% decrease in cost with this

* Around 12% cost shaving off GetLightData

* Around 6.5% win here

* Faster View matrix flip

* Missing *=-1

* About 7% win in preprocess light data

* Another small batch

* Small cleanup for first optimization pass

* Tiny bit more cleanup

* Make UpdateShadowRequests 12% cheaper

* Address review points

* A bit less than 20% win in ExtractPointLightData

* Add comment

* changelog

* 25% reduction of ExtractPointLightData

* 18% win in UpdateShadowRequest

* Another around 11% win for UpdateShadowRequest

* Move matrix multiply utils to core

* less lighttype computation

* Ooops

* fixup changelog

* Proper merge

* Missing leftovers .

* I'll manage to submit it all one day...

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for POM for emissive map (#51)

* Add option to use Base UV Mapping for emission

* Graphic test and doc

* Changelog

* Screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* HDRP Compositor Tool (#57)

* HDRP compositor tool, first code drop

documentation typo, move everything in compositor namespace

documentation typo

bugfix: dynamically add/remove properties when shadergraph changes

UI bugfix: properly compute height of UI elements

Missing tooltips, button to remove the compositor

toggle layers now works when player is paused

add chroma keying in the compositor test

Changelog, workflow bugfix

Use Unity's built'in icons

AOV bugfixes

AOV tooltip was wrong

bugfix: disabling the compositor now disables all compositor cameras

Proper monitoring of shadergraph changes

Updated test image + minor changes

Use better names for internal cameras

Bugfix: selecting the same res for a layer

Bugfix: deleting in-use texture layers from shadergraph now works

Bugfix: setting AOV to none now works properly

Use the term SubLayer in the UI

Improve AOV tooltip

Camera properties in layers are properly refreshed

UI: Move checkbox for overrides on the left side of the label

Remove default compositor camera when also deleting the compositor

Bugfixes: no orphans (delete all children when removing a layer), saving the layer list now works again

Hdrp/docs/compositor (#6013)

* Added docs review

* Changed fodler for images

Bugfixe: deleting layers

Bugfix: reordering layers

Bugfix: creating a new compositor fails

Remove redundant check

Fix wrong tooltip

Bugfix when deleting camera stack layers

Bugfix: handle window resize

Bugfix: sub-layers without parent when re-ordering, preview remains visible for disabled layers

Bugfix: more robust re-ordering (also moves children)

Bugfix: mark scene dirty when adding a compositor

Bugfix: display warning when alpha is configured properly

Change video layer icon

Bugfix: adding a layer filter does not reset the UI state

Bugfix: do not show composition properties that are marked with hide-in-inspector

Better / more clean layer injection implementation

minor code clean up

Clear color mode should only be editable on the first layer of a stack

Bugfix: setup of custom render was not always called

Bugfix: make sure additional camera data always exist in the layer/compositor camera

Change test id to 9800

Fix typos

mark scene dirty when removing or disabling the compositor

Default composition shadergraph and profile are now cloned

Serialized objects are now properly updated

minor code change: range checks

bugfix: error message appears at beginning

remove layer list from the asset file

add default camera layer when creating the compositor

replace getter function with c-sharp property

update asset in unit test

* move compositor unit test images

* remove leftover code

* review feedback #1

* review feedback 2

* review feedback - custom clear shader

* fix variable names that don't affect serialization

* fix serialized variable names

* bugfix: image layers and camera stacking

* use enum utility functions

* Use multicompile in motion blur + bug fix

* Make some variables private

* Update Compositor-User-Guide.md

* Review feedback

* fix muticompile for motion blur without alpha

* Update to new constant buffer / shadergraph api

* Player test image for the compositor

* Properly fill camera entries for global constant buffer

* Fix after rebase / function rename

* Make bg red for better debugging qnd cqtch unity exception

* Disable compositor test until we fix it on yamato

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* PBR shader gbuffer ztest (#43)

* Fixed PBR shader rendering in deferred

* Updated changelog

* Enable Light Baking Cookies by default + Warning (#79)

* Enable

* Fix typo

* Importance Sampling Pipeline (#84)

* Multiple Importance Sampling for HDRI Sky (Ray Generation)

* backup

* Multiple helpers

* Add RTHandleDeleter (delay in K frame the Release of a RTHandle)
* Fix GPU Operation when texture are too small
* Helper to manager Mariginal Texture in general (Tex2D, Tex2DArray, CubeMap, CubemapArray), ...
* Helper manager to generate one marginal per slice mip (one per frame)

* backup

* Add SampleCubemapProjectionNode (Project cubemap to Geometry)

* delete useless files

* update

* Cube To LatLong for CubeArray

* Functional generation

* Integration on ray tracer step

* Store HDRI Integral

* .

* Integrate HDRI Sky

* Update Importance Sampling

* Update Algorithm with Hemisphere Path

* Backup

* Update merge

* Update Merge 001

* Update Merge 002

* Update Merge 003

* Update Merge 004

* Update Merge 005

* Update Merge 006

* Update Merge 007

* Cleanup

* Update Integration of HDRISky Upper Hemisphere

* Remove useless dump images on disk

* Fix change log issue

* backup

* Backup

* Pre-Clean

* Pre-Clean

* Clean Up - remove file

* Remove Debug Code

* Update

* Update ChangeLog

* Clean Up

* update

* Clean up

* Remove useless texture

* Fix CGAlloc + Default Litetime of a RTHandle on the "RTHandleDeleter"

* CleanUp

* remove useless comment

* Add variable (Atmospherical) + Rename/Comment

* Move parameter to CS, Clean & move to private RTHandleDeleter

* Revert "Importance Sampling Pipeline (#84)"

This reverts commit 835d6a45c15ec7cbebde2aa385134a780c363e11.

* Reducing the number of variants for ray tracing when building a player (#94)

* - Replaced the DIFFUSE_LIGHTING_ONLY multicompile by a uniform.
- Removed the dynamic lightmap multicompile.
- Remove the LOD cross fade multi compile for ray tracing.
- Added a ray tracing mode option in the HDRP asset that allows to override and shader stripping.

* fix merge

* Update LayeredLit.shader

* Update LayeredLit.shader

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 3003_LightingMode.unity

* Fix compil issue with Enable BakeCookie

* Enable Light Baking Cookies by default + Warning - part 3 #79

* Avoid building the mip chain a second time for SSR for transparent objects.  (#93)

* - Avoid building the mip chain a second time for SSR for transparent objects.

* Update ScreenSpaceReflections.compute

* fix merge issue

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Scalable volumetrics [skip ci] (#34)

* Adaptive sampling works

* Compute the PDF

* URL

* Fix stuff up (except for profile preview)

* Attempt to fix previews

* Fix transmission

* Support quality levels

* Clean shader

* Remove 2 kernels

* PURGE

* Automatically adjust the number of samples at runtime

* Changelog

* Spaaaaace

* Add comment

* Spaaaaaace

* Rename

* Update ref img 1215, 1216, 1217

* Revert "Update ref img 1215, 1216, 1217"

This reverts commit 9aeb1fee054bc0e8a24b76525eb4af5dc2316088.

* Robust filter radius

* Solve the NaN problem

* Save 1x VGPR

* Update SSS defaults

* Add migration steps

* Volume resolution WIP

* Shorter names FTW

* Comment

* Dynamic slice count works

* Dynamic res works

* Changelog

* Stretch the limits

* Fix bug (order matters)

* Comments

* Remove volumetric quality presets

* Changelog

* Reorder

* Solve the mystery of RTs going NULL

* More robust bad history detection

* Update test scenes for High Quality

* More bug fixes

* More accurate comment

* Do not reinvent the wheel

* Fix broken test 1351

* Attempt to migrate HQ SSS settings

* Remove all branches

* Optimize a bit

* 7x WF

* Fix the rounding error

* Fix the rounding error

* Remove garbage allocation

* Fix typos

* Copy the SSS value

* Revert HDRP asset changes

* Fix default UI value

* Pass the right asset

* Update ref img 1215

* update reference screenshots

* Update CHANGELOG.md

* Update CHANGELOG.md

* Switch to RTHandles

* Rename textures used by the fog filtering pass

* Fix reprojection

* Fix shader warning + typo+

* fix another shader warning

Co-authored-by: EvgeniiG <7ee2cc898cca1b5fc49df740c2081dfc681e0a28>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fixed runtime test for Yamato (#177)

* Revert "Hdrp/runtimetests/ps4 fix (#129)"

This reverts commit 6fa52ab66c77d12088114577573fb45edfb2baba.

* Update runtime test to use way less memory to be able to run on console

* Fixed screenshots and test

* Fix HDRP Wizard windows not compatible with "preview" package version (#178)

* Fix async compute throwing errors because of global constant buffers. (#130)

* Replaced commands incompatible with async compute in light list build process.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Diffusion Profile and Material references in HDRP materials are now correctly exported to unity packages. (#136)

* Added external references inside a material to diffusion profiles and materials in order to handle Material export to a package correctly.

* Update changelog

* Removed useless test

* Updated changelog message to add more info

* Refactoring to share the code for light list building better between probe volumes and lights. (#156)

* Refactoring to share the code for light list building better between probe volumes and lights.

* Remove commented code

* Fixed constant buffer update

* Fixed kernel used for cluster generation

* Fixed cluster kernel for oblique projection

* Restored a resize test for XR

* Removed unexpected Shuriken folder in Test Project

* Add range attenuation to box-shaped spotlights [Skip CI] (#101)

* Added range attenuation to box-shaped spotlights

* Update tests

* Update CHANGELOG.md

* Remove file duplication

* Added box range attenuation test

* Clarify documentation

* Update screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/decal transparent mip selection 1222437 (#96)

* Improve MIP selection for decals to transparent

* Add change logs

* Communize Helper (ComputeTextureLOD{Bias?}(...)

* Update

* Rename

* Comment

* fix white space and 0.f

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix cookie atlas alloc for cone spot lights (#187)

* Fix unneeded cookie texture allocation for cone stop lights

* Updated changelog

* Fix cone spot light cookie

* update template (#189)

* Hdrp/combine material samples with shader samples [Skip CI] (#117)

* Fix MaterialBalls having same guid issue

material samples and shader samples had the same prefabs with the same guids causing an issue when the guids are reassigned

* Merge material samples and shader samples

Merge shader samples into material samples

* Update scene visuals

update frame prefab with new visual style
update scene to suit visual style

* Fix spelling and grammatical errors

alterates -> alters - this one isn't technically an error but alterates isn't used in common English
oder -> order
accross -> across

* Create fabric scene

create scene and rendering settings

* Add fabric ball prefab with fabric mesh

Add fabric ball prefab with fabric mesh

* Add threadmaps to project

Add threadmaps to project

* Add materials to project

Add materials to project
Linen
Nylon
Satin
Velvet
Wool

* Add scenes for hair and fabric and create prefabs for lighting and hair display

Add scenes for hair and fabric
Create prefabs for lighting and hair display
Fix Decal prefab

* Update scene and fix errors with materials that don't use threadmaps

Update scene and fix errors with materials that don't use threadmaps

* Update fabric materials and textures

Update fabric materials and textures

* Clean up project and add additional materials

Add ShotSilk material
Modify materials
Rename textures
Cleanup changes
Add information to fabric scene

* Update and organize scenes

Update and organize scenes

* Update Fabric scene , fix spelling errors and change to american spelling

Update Fabric scene , fix spelling errors and change to american spelling

* Update information in fabric scene

* Update scene lighting

Update scene lighting

* Align lighting and rendering across scenes, remove old sample scene

Create prefabs for common elements
Change sky gradient
Remove unused settings
Remove old sample scene

* Update textures and meshes

Update denim color to tga file format to conform with other files
Update cloth mesh to have better normals
Update scene after changes to prefab

* Update cloth mesh

Update cloth mesh

* Update scene text and cloth mesh

Update scene text and cloth mesh

* Update Changelog

Update Changelog

* Fix bug with material ball and parallax occlusion mapping due to mesh tangents

Fix bug with material ball and parallax occlusion mapping due to mesh tangents

* Remove shader samples from package json and update material samples description

Remove shader samples from package json and update material samples description

* Update sample content documentation

* Update scene text

* Move files in mesh folder to appropriate folders and remove additional material ball prefab

* Add micro shadows

* Update 1301_StackLitSG.png

* Change guid reference in MaterialSamples scene

Co-authored-by: Sean Puller <sean.puller@unity3d.com>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* DisplayInfo attribute. (#172)

* Added DisplayInfo attribute for generic display info.

* Implemented volume parameter sorting for default inspector.

* Update changelog

* Named parameters for tuples in Volume Component Editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Compute Buffer management for render graph (#194)

* Added import and usage of Compute Buffer API to render graph.

* Missing clear of Compute buffer write/read lists.

* Another missing clear.

* Light loop compute buffers WIP

# Conflicts:
#	com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs
#	com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs

* Reverted Render Graph debug registering by default.

* Post merge fixes

* RenderPass debugger visualization and fixed null profiling sampler

* Missing using directive.

* Post merge fix

* Use new light list build ouptut for deferred lighting pass

* Use new light list build ouptut for contact shadow pass

* Use new light list build ouptut for volumetric passes

* Simplify the tooltip (#188)

* Added MovedFrom attribute (#182)

* Contact shadow min distance + fix scalarization code  (#150)

* Min distance

* editor update

* Update doc

* Changelog

* fix some ui issues

* Update docs according to UI changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* TAA docs update (#132)

* update docs

* pr review

* Added indentation as dashed

* Hdrp/deferred shadow quality multi compile (#5)

* shadow mask

* Changelog

* Have shadow quality as multi_compile

* make old API obsolete

* Update comment

* Comment on pre processor

* Update docs

* Change shader versions of deferred

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/path traced dof (#164)

* Path traced DoF implementation

* Move focus distance from volume to physical camera

* Small fixes

* Small fixes in math

* Small fixes in math 2

* Compile error

* Make new functions private

* Cosmetic changes

* Move viewport matrix function to utils

* Keep focus distance in the volume

* Do not enable in scene view camera

* Changelog

* Review feedback

* Use scale and bias instead of matrix mul for the viewport transform

* Bugfix: post process DoF should still be executed for non-physical mode

* Typo

* avoid null reference when physical params is null

* remove redundant check

* Update HDRenderPipelineAsset.asset (#210)

* Fixed volume debug menu in playmode (#149)

* Refresh widgets in play mode. Added doc. Reduced refresh rate

* Changelog

* Added some code doc

* Fix refresh rate and scroll over hidden volumes in play mode

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added a new test scene for physical camera DoF in Pathtracer (#211)

* Fixed issue when toggling anything in HDRP asset that will produce an error (case 1238155) (#215)

* fix bug 1238155

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* Update HDRenderPipelineAsset.cs

* Fix warning in PCSS code when using Vulkan (#229)

* Fix warning

* changelog

* Fix decal register + obsolete cookie API (#195)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Fix decal shader

* Fixed HDRP cookie

* Update HDLightUI.cs

* correctly fix decal

* Update CHANGELOG.md

* Update ColorAdjustments.cs

* Update ShaderVariablesDecal.hlsl

* fix compil on 2020.1

* Update HDRP_Test_Def.asset

* add test for 3RT decal

* update decal test

* Do shadow code cleanup + Fix Yamato after PR #5 Multi compile shadow (#244)

* Do code cleanup + bugfix shadow

* Update Upgrading-from-2020.1-to-2020.2.md

* Update LightLoopDef.hlsl

* Fixed issues with path traced SSS and accumulation. (#257)

* Add missing documentation for AOV API params (#254)

* Hdrp/public static sky (#253)

* Made the static lighting sky public so that users can change it by script for baking purpose.

* Update changelog

* Update HDAdditionalLightData.Migration.cs (#269)

* Add missing docs attributes (#271)

* Fixed an error about procedural sky being logged by mistake. (#273)

* Fixed an error about procedural sky being logged by mistake.

* Update changelog

* Fix quality settings UI and shadow mask UI (#122)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* fix typo

* fix typo 2

* Updated raytracing async compute warning. (#274)

* Made more explicit the warning about raytracing and asynchronous compute. Also fixed the condition in which it appears.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a null ref exception in static sky when the default volume profile is invalid. (#278)

* Fixed a null ref exception in static sky when the default volume profile is invalid.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added SubScenes cache to be compatible with HDRP/staging (#287)

* Update 2002_Light_DynamicMix.unity (#292)

* Update HDCubemapInspector.cs (#296)

* increase tolerance for test 5008 in VR due to recent changes (#311)

* Upate screenshot for HDRP DXR Test (#312)

* Fix SSS code doc (#319)

* Fix issue with screen-space shadows not enabled with RT off (#139)

* Fix issue with screen_space shadows not enabled with RT off

* Proper fix: only keep directional screen space shadows with RT off

* Fix shadow debug mode

* cosmetic changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a performance issue with stochastic ray traced area shadows. (#300)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix bad merge of the light loop optimization PR (an optimization was undone) (#321)

* Don't compute light type

* Typo

* Camera override API (#170)

* Added the API to override camera rendering

* Updated changelog

* Fixed compilation issue

* Factorized protection function

* Fixed camera override in scene view

* Added isPersistant bool in HDCamera and allocateHistoryBuffers param in Update

* Fixed camera override with dynamic resolution and moved it to internal

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix cookie srgb (#297)

* Fixed srgb flag not updating the cookie atlas

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix flickering lighting in the scene and game view when lookdev is open. (#290)

* Fixed flickering of the game/scene view when lookdev is running.

* Update changelog.

* Added a function to reset the reference size of RTHandle systems. (#299)

* Added a function (HDRenderPipeline.ResetRTHandleReferenceSize) to reset the reference size of RTHandle systems.

* Update changelog

* Fix issue with ambient probe not being correct with OnEnable/OnDemand probes (#291)

* render until ambient probe is ready

* changelog

* remove comment

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix Motion Vectors written by transparent when rendering with MSAA (#315)

* Add resolve if needed of transparent movec

* rename

* rendergraph

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/reflection probe scale perf (#252)

* Use IEnumerable as interface for HDProbeSystem

* Added a perf test for probe registration

* Use HashSet instead of List to store HDProbes

* Updated planar reflection to use a HashSet

* Updated changelog

* Fix invalid length check

* Fixed build of planar probe array

* Fixed GC alloc issue

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* [9.x.x] Axf measurements into tilings (#289)

* AxF: Add support for physical material measurements import into tiling values (new importer feature) per texture resource. Also add offset support.
On the importer side, an assumption of a unit of tangent space embedded in world space being 1 meter is used. For easier adjustments, all values are relative to a "Main Tiling" for the material.
This removes old materialU/V tiling and flakes tiling (AxF is still in preview though).
Update test scene to move old tiling property values into new properties so results don't change.
Update documentation.

* AxF measurements into tilings: Add changelog entry.

* AxF tilings - Fix typo that could set wrong specular lobe and coat normal tilings.

* Update the AlphaToMask test for AxF.

* Update all other editor and player platform references to match.

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* fix 9402screenshots on vulkan

* Update HDRP graphic test framework with Test Broken / TestFilter script (#393)

* Update hdrp testing framework

* Update hdrp testing framework 2

* Update TestFilterGenerator.cs

* revert change on shader graph

* Hd/add layer modification on generated emissive mesh for area light (#364)

* Add Layer modification of EmissiveMesh generated by area light

Add Layer handling on Generated Emissive Mesh

* Update CHANGELOG.md

* Add "same as Light" hability for layer and make it default

* Add destruction on move in hierarchy and retrieve existing to secure the NotEditable

* Add sync on Static too

* Also the copy the static drop down

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Disable async compute for D3D12 [Hold] (#301)

* disable async on d3d12

* Change doc

* Hd/fix nullref while removing decal component (#416)

* fix nullref on DecalComponent removed from contextual menu

* Update CHANGELOG.md

* Added a flow map parameter to HDRI Sky (#44)

* Added uv distorsion for HDRISky cubemap

* Editable flow strength

* Better parameter name. Smooth flow on cube edges

* Added a graphic test. Updated Changelog

* Updated documentation

* Added screenshots

* Wait frames for test

* Wait more

* Update screenshots again...

* Static test

* Static screenshots

* use multi_compile

* Renamed all parameters

* Procedural distortion

* Update doc

* Set all keywords

* Revert to old behaviour

* doc

* update test

* remove useless variable

* doc

* Fix lat long and procedural flow

* replace trig functions. Correct wind dir

* Dropdown and upper hemisphere fix

* Updated doc

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue with Uber Post process shader when alpha is enabled (#422)

* Fix issue with alpha being over 1 hence, leading to the final color being boosted due to alpha handling

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* replace fbx by the one from URP with no import errors (#427)

* Fix the bug (#430)

* Fix issue with corrupted values with Layer Lit when using multiply mode for vertex color (#418)

* Saturate vertex color to avoid negative values.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Renamed variables (#436)

* Fix issue with the resolve of motion vectors (#421)

* Hd/fix targets used in ongui in decalcomponent (#413)

* Fix Reset not resetting to default

* Delay MaterialEditor recreation to when possible

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implemented ray traced reflections for transparent objects. (#47)

* Implementation of ray traced reflections for transparent objects

* fix issue with ShowPrePassAndPostPass

* Change label for transparent SSR + change default value to false

* fix material not setup properly

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix custom pass graphic tests (#359)

* FIxed fullscreen custom pass test and re-enabled draw-renderers custom pass test

* Replaced canvas by a quad (more stable for graphic test)

* disable vulkan test as it is failing, need investigation

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Save scene-view camera settings in Editor prefs (#440)

* Sceneview camera settings are now saved in Editor prefs

* cosmetic changes

* add comment

* Small refactor to allow easily adding more prefs in the future

* fix comment

* fix comment 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue when switching back to custom sensor type in physical camera (#417)

* Fix issue when switching back to custom sensor type in physical camera

* make if comparison more explicit

* make if comparison more safe

* Per-camera history for the custom settings using a static dictionary

* Use ConditionalWeakTable instead of a Dictionary to avoid keeping alive deleted cameras

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix a null ref exception when running playmode tests  (#360)

* fix a null ref exception when running playmode tests with the render pipeline debug window opened

* use empty array

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed some gcalloc in the debug window (#445)

* Fixed some GCAlloc in the debug window

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update reference screenshot dx12

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617) (#443)

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617)

* Fix an issue with thin refraction SG and updating screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Create Shaders.meta

* Hdrp/small ui update (#423)

* Removed logic in the UI to disable parameters for contact shadows and fog volume components as it was going against the concept of the volume system.

* Update changelog.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update settings for DXR

* Update SetToCameraNearPlane.cs

* Add an option to disable shadow bias

* Don't query cull results if we don't have them (#449)

* test with a guard

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update screenshot (#463)

* Disable test HDRP_GraphicTestRunner.8105_BlendStates_b on DX12

* Update TestCaseFilters.asset

* Revert "Disable async compute for D3D12 [Hold] (#301)" (#469)

This reverts commit dc35b61d1d19ad1b363b8fbb582a076014e84b16.

* Revert "Add an option to disable shadow bias"

This reverts commit 2dfeab269baab914fd541f8fa358463d38334f6c.

* PBR Sky renderer now shares its internal precomputation table between different instances. (#250)

* PBR Sky renderer now shares its internal precomputation table between different instances.

* Update changelog

* Doc update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Makes sure quaternion is normalized and valid before converting to ma… (#331)

* Makes sure quaternion is normalized and valid before converting to matrix.

* Updated Changelo.

* Revert "Updated Changelo."

This reverts commit 60e65b50f3ab7fc241556e1c8f46b680defe36e2.

* Update CHANGELOG.md

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* New tooltip for camera background and fixed exposure when switching the background mode. (#415)

* Put more information in Camera background type tooltip and fixed inconsistent exposure behavior when changing bg type.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue causing not all baked reflection probes to be deleted  (#441)

* Clear the queue once filled up and push elements that failed to be pushed.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed asset preview being rendered white because of static lighting sky. (#462)

* Fixed an issue where asset preview could be rendered white because of static lighting sky.

Also fixed an issue where static lighting was not updated when removing the static lighting sky profile.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed null reference exception in LookDev when setting the SRP to None (#447)

* Fixed null reference exception in LookDev when setting the SRP to None

* Review feedback

* Review feedback 2

* Fix show cookie atlas debug mode (#475)

* Fix the show cookie atlas debug mode not displaying correctly

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Enable DXR playmode test (#472)

* Update upm-ci-hdrp_dxr.yml

* add hdrp dxr playmode test to all hdrp ci

* Update upm-ci-hdrp.yml

* Update upm-ci-hdrp.yml

* change planar atlas size to 1024

* Update upm-ci-hdrp.yml

* Update 802_SubSurfaceScatteringForward.png

* update scene

* update 5001 lighting

* fix exposure for 5001 path tracing test

* update player screenshots

* disable 5001 path tracing as it fail on yamato

* Fix few multi-editing issues with Emission UI (#473)

* Working but not nice

* Remove unecessary cruft

* tiny changes

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Re-enable cubemap thumbnail gen only for d3d11 (#487)

* re-enable thumbnail gen only for d3d11

* Update changelog

* try enable metal

* Update changelog and comment

* Check reflection probe null pointer before use. (case 1244047) (#456)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Remove max atlas probe alloc size in HDRP asset (#458)

* Fixed max alloc planar size not taking in account the max cache size

* Removed the max cache clamp on texture atlases

* Hd/fix undo environmentlibrary lookdev (#490)

* fix undo redo for environment library

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix vulkan test

* SSGI Implementation (#95)

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Change Sky in 5001 PT Test to HDRI Sky + update image (#502)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 802_SubSurfaceScatteringForward.unity

* fix vulkan warring and wrong meta

* Update upm-ci-hdrp.yml

* Fix merge issue with Test filter

* Use path relative to package for depth of field  (#523)

* Use absolute paths for dof include

* changelog

* Fix Light overlap (#444)

* Added the light overlap volume code

* Updated changelog

* Made outline thinner and removed the semi-transparent color of the light shape in light overlap debug mode

* Fixed documentation

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed API breakage. (#524)

* [Docs] Add missing documentation for Accumulation, AOVs, path-traced DoF (#532)

* AOV documentation

* minor change in the comments

* Accumulation documentation

* minor improvements

* Rewrite the AOV script. Now it is stand-alone.

* Typo

* Add path traced DoF documentation

* Reviewed AOV doc

* Reviewed accumulation doc

* Reviewed path-traced dof doc

* Add missing OnDestroy in example script

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>

* Restore some XR HDRP tests (#382)

* restored XR tests

* revert and split changes for temporal effects in another branch

* fix XR tests using volumetrics

* 8103 is still acting randomly

* try to set timeout to 30s to confirm it's working

* set timeout to 5 min per test for HDRP instead of default 3 min

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix taaFrameIndex and restore TAA tests for XR (#534)

* fix taaFrameIndex and temporal effects with the test suite

* increase waitFrames to 64 on the TemporalAA test scenes and enable XR compatibilty

* update ref images

* set waitFrames for HDRP runtime test scene

* reset camera before waiting

* update reference images from Yamato

* revert change to 001-HDTemplate

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255) (#488)

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255)

* Add missing inverse exposure multiplier

* Add support for batchmode (#542)

* Update 9301_MotionVectorsOff-Forward-Dynamic.png

* Fix custom pass prefabs (#419)

* Fix custom pass integration with prefabs

* Updated changelog

* Fixed prefab highlight not updated when adding/removing custom passes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Correctly dealloc/realloc resources when switching RenderGraph on and off. (#328)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* Reverted volumetric lighting changes and now render graph version uses the shared textures.

* Clone in the Asset folder when the original volume profile is in a re… (#508)

* Clone in the Asset folder when the original volume profile is in a read only package. (case 1154961)

* Added changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Adding code for history rejection for SSGI and adding a disabled test that should be used (test framework doesn't support) (#529)

* Custom Pass API (part 1) (#155)

* Begin to write the new custom pass API

* Begin to add custom pass utils shader

* Begin to add custom pass API test scenes

* Fixes for the Gaussian blur of the custom pass API

* Fix blur release

* Added custom pass copy test and fixed blur

* Added more custom pass documentation

* Added custom pass API graphic test reference image

* Added more obsolete things

* fix function visibility

* Updated changelog

* Added custom pass API test scene

* Fixed custom pass API doc

* Moved obsolete execute function into the new one

* Updated custom clear pass to use the new API

* Updated custom pass API test reference image

* update reference screenshots

* Fixed various scale issues in the blur custom pass API and updated reference screenshot

* Disable custom pass API test because it's unstable

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 3) (#98)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Converted raytracing lightloop variables to constant buffer.

* Converted RayTracing global variables to constant buffer.

* Removed obsolete comment

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Post merge fix

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Post merge fix

* Removed useless constant

* Crash fix

* Post merge fix

* Update 501_RecursiveRendering.png

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Hd/fix wizard defaultvolumeprofile creation (#565)

* Fix Wizard check on default volume profile

* Update CHANGELOG.md

* Small TAA Anti-flicker changes (#555)

* tweaks

* Change default so that is just high quality.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix central depth sampling in TAA (#564)

* Fix sampling of central depth

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Render Graph Async Compute (#552)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* WIP: refactoring of render graph compilation and resource allocation to prepare for async dependencies.

* Implementation of async resource synchronization.

* Fixed synchronization (only partial fix)

* Added default profiling sampler for render graph passes not providing one.

* Async WIP

* Fixed async synchronization by extending lifetime of resources freed during async pass to the first graphics task that wait for async.

* Post merge fix

* Cleanup

* Removed comment.

* Disabled async contact shadows again.

* Small cleanup

* Change exposure compensation in the default volume profile to 0. (#388)

* Change profile (And add missing setting)

* changelog

* Upgrade guide

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Histogram guided auto-exposure + debug modes (#372)

* some very incomplete stuff...

* sync point, rough working version

* Mostly working for now, moving onto debug vis and maybe revisit.

* Commit as I need branch switching - Start debug modes

* Add a bunch of debug mode and start of histogram

* Delimiters indicator with bars

* Add another option for percentile exttremes

* fix warning

* Moving debug modes

* Label bar separate (invisible otherwise)

* Push change to bar indicator

* remove fancy background of histogram frame

* Small triangle instead of indicator bars

* Target exposure indicator

* add some margin

* Add an X at center

* Metering PiP

* Draw tonemap curve and use tonemapped texture for view

* Share some code

* Curve remapping for histogram and fix some warning

* Some comments fixup

* Simple comment changes

* Revert debug symbol in shader

* Changelog

* review fixups

* Review feedback

* Bad merge fixup

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Refactor shadow caching system (#554)

* Very debuggy code just start nothing functional or usable yet.

* remove old cached stuff (not finished, need switch branch)

* revert wrongful commit

* A bit of restructuring

* A good point as any to sync up

* sync

* Move from old repo...

* fix regression

* Handle case in which shadow doesn't fit

* leftover not committed

* Fix some issues with culling of point lights from the

* preliminary support for cascaded shadows

* Fix some issue with the directional

* Subshadow update

* Add some guards, some debug and the new C++ api for infinite bounds

* Some UI for the resolution

* Fix merge issues

* Update debug cs.hlsl

* Render graph stuff and some leftover removal

* micro cleanup

* Fix behaviour when defragging and excess lights are there

* Public API

* Remove dbg names

* Bug on debug view of area atlas

* Missing field on new PCSS signature for directional

* More public API

* Refresh cached shadows on resolution changes.

* merge conflicts patchup

* Fix missing shadows on normal shadows

* Small cleanup and turning positive the doesn'tHavePlacement

* Fix case on switching light type and issue with non-rectangle area lights

* tentative fix for error on build

* Debug logging

* update naming of debug

* Fix issue with double inclusion

* DOCS

* upgrade guide

* post merge fixups

* leftover comment

* changelog

* Doc changes in upgrade guide

* have print debug info only in editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update reference screenshots

* VFX test: Replace auto exposure by fix exposure in ParticleRibbonTest

* Fixed light layers not correctly disabled when the lightlayers is set to Nothing and Lightlayers isn't enabled in HDRP Asset (#584)

* remove useless code for cookie

* Hdrp/fix camera switcher (#591)

* Fixed a wrong condition in camera switcher, potentially causing out of bound exceptions.

* update changelog.

* fix issue that prevents PS4 from building (#596)

* Removed experimental namespace for ray tracing code. (#612)

* Hdrp/multi view pt (#518)

* Multiview (scene + game) path tracing accumulation.

* Cosmetic.

* Modifications to address comments in PR.

* Updated PT fog test.

* Updated Changelog.

* Fixed issue with unlit shader graphs in path-traced mode.

* Update CHANGELOG.md

* Update HDUnlitSubTarget.cs

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix Look Dev default profile not updating correctly (#630)

* Fixed an issue where editing the lookdev default profile would not reflect directly in the…
sebastienlagarde added a commit that referenced this pull request Jun 2, 2020
* Hdrp /fix reset of HDAdditionalLightData (#6453)

* fix type resolving issue when reseting HDAdditionalLightdata

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Add option to disable XR rendering on the camera settings (#6372)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix unused leftover (#6497)

* Split HDRP Test scene 1900 in two scene (#6498)

* Fix custom pass test reference images (#6512)

* Updated ref image for PT fog test (5005). (#6513)

* Review corrections for previous PR (#6494)

* Fixed an usage of a a compute buffer not bound (1229964) (#6476)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed scene selection pass not working proporly for meshes rendered with recursive rendering. (#6520)

Fixing an issue with sub-surface scattering and updating screenshots

* fix typo (#6500)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor. (#6493)

* Fixed an issue where changing the default volume profile from another inspector would not update the default volume editor.

* Update changelog.

* Additional fix for regular inspector

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems. (#6480)

* Fix issues in the post process system with RenderTexture being invalid in some cases. Causing rendering problems.

* Update changelog

* Removed wrongly serialized fields in StaticLightingSky (#6441)

* Removed unnecessarily serialized members in StaticLightingSky component.

* Update changelog

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045). (#6504)

* Fixed a weird behavior in the scalable settings drawing when the space becomes tiny (1212045).

* Small fix to avoid overlapping

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: JulienIgnace-Unity <julien@unity3d.com>

* Fix a compilation issue to to a backport that did not go well. (#9)

* Fixed a regression in the ray traced indirect diffuse due to the new probe system. (#31)

* Clamp probes compression factor to 0 (#19)

* Clamp to positive

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* path validation when creating new volume profile (#36)

* Validate whole path when creating new profile

* Changelog

Co-authored-by: pavlos.mavridis <pavlos.mavridis@unity3d.com>

* Alpha to coverage frame setting (#33)

* Added FrameSettingsField.AlphaToMask

* Changelog + Documentation

* Changed field index

* Axf - Add specaa, add baked ao, fix reflection hierarchy for carpaint. (#41)

* AxF: Add support for specular AA from geometric curvature.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* AxF: Fix a typo that caused a bug for SVBRDF materials using precise Fresnel variants to always use full reflectance (1) for delta lights.

* AxF: Fix ignored reflection hierarchy + proxy intersection for carpaint. Add comments about problems if two directions are differents. Also add an option (disabled for now) to have BRDFColor with base angle of dominant direction. Rename some variables to make clearer direction on top for bottom lobe.

* AxF: Use get scalar roughness function to factor out  code.

* AxF: Add internal support for baked ambient and specular occlusion (no baked AO input map currently). Fix AO factor to adapt better to carpaint.model.

* Add changelog entries.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement constant buffers for HDRP global variables. (#52)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Fixed color/depth pyramid debug

* Cleanup

* Small fix

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Add Performance framework package and HDRP performance tests (#45)

* Added performance test project

* Added new test scene system and memory p[rofiling

* Added shader analysis package

* Create symlink folder in library directory

* Update editor window

* Update shader analysis selection

* Added CLI utility to execute shader analysis reports

* Added example for the cli

* Removed problematic HDRP graphic test packages

* Add xml file to avoid IL2CPP stripping issues with test runner on the performance test(#5903)

* Update memory profiling test sample count

* Update shader graph support

* Updated project settings

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Empty commit for Performance reports

* Use background job API and improved progress reporting

* Empty commit for Performance reports

* Updated ui

* Empty commit for Performance reports

* Empty commit for Performance reports

* Added filter on shader pass and variants

* Added option to only generate shader variants

* Empty commit for Performance reports

* Increase garlic heap size

* Begin to add build profiling

* Added more build info

* Working version of the shader compilation time reporting

* wip

* Removed useless cli

* Added util functions to name test and sample groups

* Renamed all markers and finished the build profiling

* Update test framework package

* Updated shader analysis tests

* Updated API

* Updated API and log command for compiler

* Updated api

* Use unknown metric instead of time one as workaround

* Enable the CPU profiling API

* Fix when deleting an analyzed shader

* Load reference on enable

* Added shader analysis package

* Fixed PS4 test name

* Fixed memory unit

* Added more test scenes

* Force performance tests to run on PS4  base

* Fixed sample units and use the same SampleGroup for multiple frames in counter test

* Begin to create the graphic perf test

* Finished the first version of performance graphic test package

* Fixed build tests

* Increase static analysis timeout

* More timeout

* Removed Lit shader static analysis

* Fix counters tests

* Added performance settings window in project settings

* Re-add Forward build test scene

* Fixed shader analysis filter

* PR fixes

* Begin to write the doc

* Finished V1 of the performance package doc

* Added grafana image and doc description

* Updated doc

* Maybe fix yamayo tests

* Update documentation for static analysis

* Added note on core asmdef

* Removed debug

* Fixed total memory

* Added tesselation counters test

* Tessellation shadow test

* Added per scene settings

* Added naming convention doc

* Fixed build issue on yamato

* Compilation fix to revert

* Begin to write the new doc page

* Completed performance doc

* Fixed build test

* Added Lit in static analysis

* Removed deferred static analysis

Co-authored-by: Frédéric Vauchelles <fredericv@unity3d.com>
Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com>
Co-authored-by: FrancescoC-Unity <francescoc@unity3d.com>

* Hdrp/fix/custom pass msaa rendering info (#42)

* Add an info box to warn about depth test artifacts when rendering object twice in custom passes with MSAA

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Custom Pass AOV API  (#50)

* Very basic AOV support for custom pass

* Updated AOV API for custom passes

* Changelog

* Update AOV API

* API improvements

* API documentation

* API doc, factorize all push texture calls in RenderCustomPass

* added default values and constructor for CustomPassAOVBuffers

* fix merge conflicts

* Fix GC alloc during rendering: use a for loop instead of findIndex+lambda

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 2) (#87)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Minor adjustments to TAA anti flicker (#97)

* small adjust to taa antiflicker

* Changelog

* Add support for lighting decomposition debug mode (+ AOV) (#99)

* Add lighting decomposition debug mode

* fix compil issue with probe volumes

* Fix usage of debug exposure in debug mode

* Add Test 3001 + fix reflection when sky  only

* remode _DebugExposure after merge

* remode _DebugExposure after merge

* fix merge issue

* add exposure compensation to Fixed exposure mode

* Update ColorUtils.cs

* Fix MSAA resolve when there is no motion vectors (#1)

* Fix MSAA resolve when there is no motion vectors

* Update CHANGELOG.md

* Cleaned up code

* use multi_compile

* Added _

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix switch shader compilation (#111)

* DXR Automated tests shader graph optimizations (#116)

* Split 902 scene into 5 scenes + SG optimizations

* Deleting old image for splited scene

* Fix various leaks in HDRP. (#113)

* Fixed a number of leak in HDRP

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix compile error with XR SubsystemManager (#107)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update SceneViewDrawMode.cs (#118)

* Follow references when deleting unloading unused assets on shader graph save (case 1230996)  (#114)

* Follow references when unloading unneeded assets

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix culling of reflection probes that change position (#121)

* Fix culling of reflection probes that change position

* Avoid null reference

* Avoid null reference - try 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix null reference when processing light probe (#131)

* Hdrp/runtimetests/ps4 fix (#129)

* Redo branch. Upgrade to 2020.1.0b5, reduce texture res, new HDRP asset.

* Switch to HDRI, increase Garlic heap size to 4gb, turn on "Stop NaNs" on camera, decrease render target res.

* Fix issues causing planar probes to be broken with multiple cameras in the scene (#4)

* Set appropriate render datas before rendering cameras

* changelog

* update doc

* comment update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* fix black screen in XR when HDRP package is present but not used (#137)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader). (#18)

* Fixed an issue with the specularFGD term being used when the material has a clear coat (lit shader).

* update ssr screenshot

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for rasterized area light shadows in StackLit + slight refactor (#39)

* Added support for rasterized area light shadows in StackLit. Also refactor code to avoid early return (compiler bug) and fix lux meter debug mode when anisotropy for area lights is enabled.

* Doc: remove note about area light shadows for stacklit. [skipci]

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update the scripting API for FrameSettings, FrameSettingsOverrideMask and IBitArray (#110)

* Fix for white flash happening when changing lighting condition (like teleport) (#140)

* fix

* Update PostProcessSystem.cs

* Update CHANGELOG.md

* Add some clamp to fp16 for case where we don't have a NaN killer pass like planar reflection

* Update CHANGELOG.md

* adress PR feedback

* Fix default volume profile collapse (#138)

* Only re-create the volume profile editor when the asset is changed

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Bind missing buffer (#159)

Bind buffer to make sure that something is bound

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* AxF fix: Use CALCULATE_TEXTURE2D_LOD macro for future cross platform compatibility (Metal) (#162)

* Fixed shader warning on Xbox for ResolveStencilBuffer.compute (#163)

* fix warning

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Texture-weighted automatic exposure (#165)

* Exposure weighted by texture

* miss one in the renaming

* Doc update

* changelog

* doc update

* fix issue when disabling override

* Update 3003_LightingMode.unity

* Optimizing light loop part 2 (#2)

* Saving 10% off the PrepareLightForGPU

* 18% decrease in cost with this

* Around 12% cost shaving off GetLightData

* Around 6.5% win here

* Faster View matrix flip

* Missing *=-1

* About 7% win in preprocess light data

* Another small batch

* Small cleanup for first optimization pass

* Tiny bit more cleanup

* Make UpdateShadowRequests 12% cheaper

* Address review points

* A bit less than 20% win in ExtractPointLightData

* Add comment

* changelog

* 25% reduction of ExtractPointLightData

* 18% win in UpdateShadowRequest

* Another around 11% win for UpdateShadowRequest

* Move matrix multiply utils to core

* less lighttype computation

* Ooops

* fixup changelog

* Proper merge

* Missing leftovers .

* I'll manage to submit it all one day...

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added support for POM for emissive map (#51)

* Add option to use Base UV Mapping for emission

* Graphic test and doc

* Changelog

* Screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* HDRP Compositor Tool (#57)

* HDRP compositor tool, first code drop

documentation typo, move everything in compositor namespace

documentation typo

bugfix: dynamically add/remove properties when shadergraph changes

UI bugfix: properly compute height of UI elements

Missing tooltips, button to remove the compositor

toggle layers now works when player is paused

add chroma keying in the compositor test

Changelog, workflow bugfix

Use Unity's built'in icons

AOV bugfixes

AOV tooltip was wrong

bugfix: disabling the compositor now disables all compositor cameras

Proper monitoring of shadergraph changes

Updated test image + minor changes

Use better names for internal cameras

Bugfix: selecting the same res for a layer

Bugfix: deleting in-use texture layers from shadergraph now works

Bugfix: setting AOV to none now works properly

Use the term SubLayer in the UI

Improve AOV tooltip

Camera properties in layers are properly refreshed

UI: Move checkbox for overrides on the left side of the label

Remove default compositor camera when also deleting the compositor

Bugfixes: no orphans (delete all children when removing a layer), saving the layer list now works again

Hdrp/docs/compositor (#6013)

* Added docs review

* Changed fodler for images

Bugfixe: deleting layers

Bugfix: reordering layers

Bugfix: creating a new compositor fails

Remove redundant check

Fix wrong tooltip

Bugfix when deleting camera stack layers

Bugfix: handle window resize

Bugfix: sub-layers without parent when re-ordering, preview remains visible for disabled layers

Bugfix: more robust re-ordering (also moves children)

Bugfix: mark scene dirty when adding a compositor

Bugfix: display warning when alpha is configured properly

Change video layer icon

Bugfix: adding a layer filter does not reset the UI state

Bugfix: do not show composition properties that are marked with hide-in-inspector

Better / more clean layer injection implementation

minor code clean up

Clear color mode should only be editable on the first layer of a stack

Bugfix: setup of custom render was not always called

Bugfix: make sure additional camera data always exist in the layer/compositor camera

Change test id to 9800

Fix typos

mark scene dirty when removing or disabling the compositor

Default composition shadergraph and profile are now cloned

Serialized objects are now properly updated

minor code change: range checks

bugfix: error message appears at beginning

remove layer list from the asset file

add default camera layer when creating the compositor

replace getter function with c-sharp property

update asset in unit test

* move compositor unit test images

* remove leftover code

* review feedback #1

* review feedback 2

* review feedback - custom clear shader

* fix variable names that don't affect serialization

* fix serialized variable names

* bugfix: image layers and camera stacking

* use enum utility functions

* Use multicompile in motion blur + bug fix

* Make some variables private

* Update Compositor-User-Guide.md

* Review feedback

* fix muticompile for motion blur without alpha

* Update to new constant buffer / shadergraph api

* Player test image for the compositor

* Properly fill camera entries for global constant buffer

* Fix after rebase / function rename

* Make bg red for better debugging qnd cqtch unity exception

* Disable compositor test until we fix it on yamato

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* PBR shader gbuffer ztest (#43)

* Fixed PBR shader rendering in deferred

* Updated changelog

* Enable Light Baking Cookies by default + Warning (#79)

* Enable

* Fix typo

* Importance Sampling Pipeline (#84)

* Multiple Importance Sampling for HDRI Sky (Ray Generation)

* backup

* Multiple helpers

* Add RTHandleDeleter (delay in K frame the Release of a RTHandle)
* Fix GPU Operation when texture are too small
* Helper to manager Mariginal Texture in general (Tex2D, Tex2DArray, CubeMap, CubemapArray), ...
* Helper manager to generate one marginal per slice mip (one per frame)

* backup

* Add SampleCubemapProjectionNode (Project cubemap to Geometry)

* delete useless files

* update

* Cube To LatLong for CubeArray

* Functional generation

* Integration on ray tracer step

* Store HDRI Integral

* .

* Integrate HDRI Sky

* Update Importance Sampling

* Update Algorithm with Hemisphere Path

* Backup

* Update merge

* Update Merge 001

* Update Merge 002

* Update Merge 003

* Update Merge 004

* Update Merge 005

* Update Merge 006

* Update Merge 007

* Cleanup

* Update Integration of HDRISky Upper Hemisphere

* Remove useless dump images on disk

* Fix change log issue

* backup

* Backup

* Pre-Clean

* Pre-Clean

* Clean Up - remove file

* Remove Debug Code

* Update

* Update ChangeLog

* Clean Up

* update

* Clean up

* Remove useless texture

* Fix CGAlloc + Default Litetime of a RTHandle on the "RTHandleDeleter"

* CleanUp

* remove useless comment

* Add variable (Atmospherical) + Rename/Comment

* Move parameter to CS, Clean & move to private RTHandleDeleter

* Revert "Importance Sampling Pipeline (#84)"

This reverts commit 835d6a45c15ec7cbebde2aa385134a780c363e11.

* Reducing the number of variants for ray tracing when building a player (#94)

* - Replaced the DIFFUSE_LIGHTING_ONLY multicompile by a uniform.
- Removed the dynamic lightmap multicompile.
- Remove the LOD cross fade multi compile for ray tracing.
- Added a ray tracing mode option in the HDRP asset that allows to override and shader stripping.

* fix merge

* Update LayeredLit.shader

* Update LayeredLit.shader

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 3003_LightingMode.unity

* Fix compil issue with Enable BakeCookie

* Enable Light Baking Cookies by default + Warning - part 3 #79

* Avoid building the mip chain a second time for SSR for transparent objects.  (#93)

* - Avoid building the mip chain a second time for SSR for transparent objects.

* Update ScreenSpaceReflections.compute

* fix merge issue

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Scalable volumetrics [skip ci] (#34)

* Adaptive sampling works

* Compute the PDF

* URL

* Fix stuff up (except for profile preview)

* Attempt to fix previews

* Fix transmission

* Support quality levels

* Clean shader

* Remove 2 kernels

* PURGE

* Automatically adjust the number of samples at runtime

* Changelog

* Spaaaaace

* Add comment

* Spaaaaaace

* Rename

* Update ref img 1215, 1216, 1217

* Revert "Update ref img 1215, 1216, 1217"

This reverts commit 9aeb1fee054bc0e8a24b76525eb4af5dc2316088.

* Robust filter radius

* Solve the NaN problem

* Save 1x VGPR

* Update SSS defaults

* Add migration steps

* Volume resolution WIP

* Shorter names FTW

* Comment

* Dynamic slice count works

* Dynamic res works

* Changelog

* Stretch the limits

* Fix bug (order matters)

* Comments

* Remove volumetric quality presets

* Changelog

* Reorder

* Solve the mystery of RTs going NULL

* More robust bad history detection

* Update test scenes for High Quality

* More bug fixes

* More accurate comment

* Do not reinvent the wheel

* Fix broken test 1351

* Attempt to migrate HQ SSS settings

* Remove all branches

* Optimize a bit

* 7x WF

* Fix the rounding error

* Fix the rounding error

* Remove garbage allocation

* Fix typos

* Copy the SSS value

* Revert HDRP asset changes

* Fix default UI value

* Pass the right asset

* Update ref img 1215

* update reference screenshots

* Update CHANGELOG.md

* Update CHANGELOG.md

* Switch to RTHandles

* Rename textures used by the fog filtering pass

* Fix reprojection

* Fix shader warning + typo+

* fix another shader warning

Co-authored-by: EvgeniiG <7ee2cc898cca1b5fc49df740c2081dfc681e0a28>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fixed runtime test for Yamato (#177)

* Revert "Hdrp/runtimetests/ps4 fix (#129)"

This reverts commit 6fa52ab66c77d12088114577573fb45edfb2baba.

* Update runtime test to use way less memory to be able to run on console

* Fixed screenshots and test

* Fix HDRP Wizard windows not compatible with "preview" package version (#178)

* Fix async compute throwing errors because of global constant buffers. (#130)

* Replaced commands incompatible with async compute in light list build process.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Diffusion Profile and Material references in HDRP materials are now correctly exported to unity packages. (#136)

* Added external references inside a material to diffusion profiles and materials in order to handle Material export to a package correctly.

* Update changelog

* Removed useless test

* Updated changelog message to add more info

* Refactoring to share the code for light list building better between probe volumes and lights. (#156)

* Refactoring to share the code for light list building better between probe volumes and lights.

* Remove commented code

* Fixed constant buffer update

* Fixed kernel used for cluster generation

* Fixed cluster kernel for oblique projection

* Restored a resize test for XR

* Removed unexpected Shuriken folder in Test Project

* Add range attenuation to box-shaped spotlights [Skip CI] (#101)

* Added range attenuation to box-shaped spotlights

* Update tests

* Update CHANGELOG.md

* Remove file duplication

* Added box range attenuation test

* Clarify documentation

* Update screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/decal transparent mip selection 1222437 (#96)

* Improve MIP selection for decals to transparent

* Add change logs

* Communize Helper (ComputeTextureLOD{Bias?}(...)

* Update

* Rename

* Comment

* fix white space and 0.f

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix cookie atlas alloc for cone spot lights (#187)

* Fix unneeded cookie texture allocation for cone stop lights

* Updated changelog

* Fix cone spot light cookie

* update template (#189)

* Hdrp/combine material samples with shader samples [Skip CI] (#117)

* Fix MaterialBalls having same guid issue

material samples and shader samples had the same prefabs with the same guids causing an issue when the guids are reassigned

* Merge material samples and shader samples

Merge shader samples into material samples

* Update scene visuals

update frame prefab with new visual style
update scene to suit visual style

* Fix spelling and grammatical errors

alterates -> alters - this one isn't technically an error but alterates isn't used in common English
oder -> order
accross -> across

* Create fabric scene

create scene and rendering settings

* Add fabric ball prefab with fabric mesh

Add fabric ball prefab with fabric mesh

* Add threadmaps to project

Add threadmaps to project

* Add materials to project

Add materials to project
Linen
Nylon
Satin
Velvet
Wool

* Add scenes for hair and fabric and create prefabs for lighting and hair display

Add scenes for hair and fabric
Create prefabs for lighting and hair display
Fix Decal prefab

* Update scene and fix errors with materials that don't use threadmaps

Update scene and fix errors with materials that don't use threadmaps

* Update fabric materials and textures

Update fabric materials and textures

* Clean up project and add additional materials

Add ShotSilk material
Modify materials
Rename textures
Cleanup changes
Add information to fabric scene

* Update and organize scenes

Update and organize scenes

* Update Fabric scene , fix spelling errors and change to american spelling

Update Fabric scene , fix spelling errors and change to american spelling

* Update information in fabric scene

* Update scene lighting

Update scene lighting

* Align lighting and rendering across scenes, remove old sample scene

Create prefabs for common elements
Change sky gradient
Remove unused settings
Remove old sample scene

* Update textures and meshes

Update denim color to tga file format to conform with other files
Update cloth mesh to have better normals
Update scene after changes to prefab

* Update cloth mesh

Update cloth mesh

* Update scene text and cloth mesh

Update scene text and cloth mesh

* Update Changelog

Update Changelog

* Fix bug with material ball and parallax occlusion mapping due to mesh tangents

Fix bug with material ball and parallax occlusion mapping due to mesh tangents

* Remove shader samples from package json and update material samples description

Remove shader samples from package json and update material samples description

* Update sample content documentation

* Update scene text

* Move files in mesh folder to appropriate folders and remove additional material ball prefab

* Add micro shadows

* Update 1301_StackLitSG.png

* Change guid reference in MaterialSamples scene

Co-authored-by: Sean Puller <sean.puller@unity3d.com>
Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* DisplayInfo attribute. (#172)

* Added DisplayInfo attribute for generic display info.

* Implemented volume parameter sorting for default inspector.

* Update changelog

* Named parameters for tuples in Volume Component Editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Compute Buffer management for render graph (#194)

* Added import and usage of Compute Buffer API to render graph.

* Missing clear of Compute buffer write/read lists.

* Another missing clear.

* Light loop compute buffers WIP

# Conflicts:
#	com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs
#	com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs

* Reverted Render Graph debug registering by default.

* Post merge fixes

* RenderPass debugger visualization and fixed null profiling sampler

* Missing using directive.

* Post merge fix

* Use new light list build ouptut for deferred lighting pass

* Use new light list build ouptut for contact shadow pass

* Use new light list build ouptut for volumetric passes

* Simplify the tooltip (#188)

* Added MovedFrom attribute (#182)

* Contact shadow min distance + fix scalarization code  (#150)

* Min distance

* editor update

* Update doc

* Changelog

* fix some ui issues

* Update docs according to UI changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* TAA docs update (#132)

* update docs

* pr review

* Added indentation as dashed

* Hdrp/deferred shadow quality multi compile (#5)

* shadow mask

* Changelog

* Have shadow quality as multi_compile

* make old API obsolete

* Update comment

* Comment on pre processor

* Update docs

* Change shader versions of deferred

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/path traced dof (#164)

* Path traced DoF implementation

* Move focus distance from volume to physical camera

* Small fixes

* Small fixes in math

* Small fixes in math 2

* Compile error

* Make new functions private

* Cosmetic changes

* Move viewport matrix function to utils

* Keep focus distance in the volume

* Do not enable in scene view camera

* Changelog

* Review feedback

* Use scale and bias instead of matrix mul for the viewport transform

* Bugfix: post process DoF should still be executed for non-physical mode

* Typo

* avoid null reference when physical params is null

* remove redundant check

* Update HDRenderPipelineAsset.asset (#210)

* Fixed volume debug menu in playmode (#149)

* Refresh widgets in play mode. Added doc. Reduced refresh rate

* Changelog

* Added some code doc

* Fix refresh rate and scroll over hidden volumes in play mode

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added a new test scene for physical camera DoF in Pathtracer (#211)

* Fixed issue when toggling anything in HDRP asset that will produce an error (case 1238155) (#215)

* fix bug 1238155

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* Update HDRenderPipelineAsset.cs

* Fix warning in PCSS code when using Vulkan (#229)

* Fix warning

* changelog

* Fix decal register + obsolete cookie API (#195)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Fix decal shader

* Fixed HDRP cookie

* Update HDLightUI.cs

* correctly fix decal

* Update CHANGELOG.md

* Update ColorAdjustments.cs

* Update ShaderVariablesDecal.hlsl

* fix compil on 2020.1

* Update HDRP_Test_Def.asset

* add test for 3RT decal

* update decal test

* Do shadow code cleanup + Fix Yamato after PR #5 Multi compile shadow (#244)

* Do code cleanup + bugfix shadow

* Update Upgrading-from-2020.1-to-2020.2.md

* Update LightLoopDef.hlsl

* Fixed issues with path traced SSS and accumulation. (#257)

* Add missing documentation for AOV API params (#254)

* Hdrp/public static sky (#253)

* Made the static lighting sky public so that users can change it by script for baking purpose.

* Update changelog

* Update HDAdditionalLightData.Migration.cs (#269)

* Add missing docs attributes (#271)

* Fixed an error about procedural sky being logged by mistake. (#273)

* Fixed an error about procedural sky being logged by mistake.

* Update changelog

* Fix quality settings UI and shadow mask UI (#122)

* Update HDRenderPipeline.cs

* Update HDRenderPipeline.cs

* Update CHANGELOG.md

* Update HDRenderPipeline.cs

* fix typo

* fix typo 2

* Updated raytracing async compute warning. (#274)

* Made more explicit the warning about raytracing and asynchronous compute. Also fixed the condition in which it appears.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a null ref exception in static sky when the default volume profile is invalid. (#278)

* Fixed a null ref exception in static sky when the default volume profile is invalid.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Added SubScenes cache to be compatible with HDRP/staging (#287)

* Update 2002_Light_DynamicMix.unity (#292)

* Update HDCubemapInspector.cs (#296)

* increase tolerance for test 5008 in VR due to recent changes (#311)

* Upate screenshot for HDRP DXR Test (#312)

* Fix SSS code doc (#319)

* Fix issue with screen-space shadows not enabled with RT off (#139)

* Fix issue with screen_space shadows not enabled with RT off

* Proper fix: only keep directional screen space shadows with RT off

* Fix shadow debug mode

* cosmetic changes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed a performance issue with stochastic ray traced area shadows. (#300)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix bad merge of the light loop optimization PR (an optimization was undone) (#321)

* Don't compute light type

* Typo

* Camera override API (#170)

* Added the API to override camera rendering

* Updated changelog

* Fixed compilation issue

* Factorized protection function

* Fixed camera override in scene view

* Added isPersistant bool in HDCamera and allocateHistoryBuffers param in Update

* Fixed camera override with dynamic resolution and moved it to internal

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix cookie srgb (#297)

* Fixed srgb flag not updating the cookie atlas

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix flickering lighting in the scene and game view when lookdev is open. (#290)

* Fixed flickering of the game/scene view when lookdev is running.

* Update changelog.

* Added a function to reset the reference size of RTHandle systems. (#299)

* Added a function (HDRenderPipeline.ResetRTHandleReferenceSize) to reset the reference size of RTHandle systems.

* Update changelog

* Fix issue with ambient probe not being correct with OnEnable/OnDemand probes (#291)

* render until ambient probe is ready

* changelog

* remove comment

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix Motion Vectors written by transparent when rendering with MSAA (#315)

* Add resolve if needed of transparent movec

* rename

* rendergraph

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Hdrp/reflection probe scale perf (#252)

* Use IEnumerable as interface for HDProbeSystem

* Added a perf test for probe registration

* Use HashSet instead of List to store HDProbes

* Updated planar reflection to use a HashSet

* Updated changelog

* Fix invalid length check

* Fixed build of planar probe array

* Fixed GC alloc issue

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* [9.x.x] Axf measurements into tilings (#289)

* AxF: Add support for physical material measurements import into tiling values (new importer feature) per texture resource. Also add offset support.
On the importer side, an assumption of a unit of tangent space embedded in world space being 1 meter is used. For easier adjustments, all values are relative to a "Main Tiling" for the material.
This removes old materialU/V tiling and flakes tiling (AxF is still in preview though).
Update test scene to move old tiling property values into new properties so results don't change.
Update documentation.

* AxF measurements into tilings: Add changelog entry.

* AxF tilings - Fix typo that could set wrong specular lobe and coat normal tilings.

* Update the AlphaToMask test for AxF.

* Update all other editor and player platform references to match.

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* fix 9402screenshots on vulkan

* Update HDRP graphic test framework with Test Broken / TestFilter script (#393)

* Update hdrp testing framework

* Update hdrp testing framework 2

* Update TestFilterGenerator.cs

* revert change on shader graph

* Hd/add layer modification on generated emissive mesh for area light (#364)

* Add Layer modification of EmissiveMesh generated by area light

Add Layer handling on Generated Emissive Mesh

* Update CHANGELOG.md

* Add "same as Light" hability for layer and make it default

* Add destruction on move in hierarchy and retrieve existing to secure the NotEditable

* Add sync on Static too

* Also the copy the static drop down

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Disable async compute for D3D12 [Hold] (#301)

* disable async on d3d12

* Change doc

* Hd/fix nullref while removing decal component (#416)

* fix nullref on DecalComponent removed from contextual menu

* Update CHANGELOG.md

* Added a flow map parameter to HDRI Sky (#44)

* Added uv distorsion for HDRISky cubemap

* Editable flow strength

* Better parameter name. Smooth flow on cube edges

* Added a graphic test. Updated Changelog

* Updated documentation

* Added screenshots

* Wait frames for test

* Wait more

* Update screenshots again...

* Static test

* Static screenshots

* use multi_compile

* Renamed all parameters

* Procedural distortion

* Update doc

* Set all keywords

* Revert to old behaviour

* doc

* update test

* remove useless variable

* doc

* Fix lat long and procedural flow

* replace trig functions. Correct wind dir

* Dropdown and upper hemisphere fix

* Updated doc

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue with Uber Post process shader when alpha is enabled (#422)

* Fix issue with alpha being over 1 hence, leading to the final color being boosted due to alpha handling

* Changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* replace fbx by the one from URP with no import errors (#427)

* Fix the bug (#430)

* Fix issue with corrupted values with Layer Lit when using multiply mode for vertex color (#418)

* Saturate vertex color to avoid negative values.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Renamed variables (#436)

* Fix issue with the resolve of motion vectors (#421)

* Hd/fix targets used in ongui in decalcomponent (#413)

* Fix Reset not resetting to default

* Delay MaterialEditor recreation to when possible

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implemented ray traced reflections for transparent objects. (#47)

* Implementation of ray traced reflections for transparent objects

* fix issue with ShowPrePassAndPostPass

* Change label for transparent SSR + change default value to false

* fix material not setup properly

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix custom pass graphic tests (#359)

* FIxed fullscreen custom pass test and re-enabled draw-renderers custom pass test

* Replaced canvas by a quad (more stable for graphic test)

* disable vulkan test as it is failing, need investigation

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Save scene-view camera settings in Editor prefs (#440)

* Sceneview camera settings are now saved in Editor prefs

* cosmetic changes

* add comment

* Small refactor to allow easily adding more prefs in the future

* fix comment

* fix comment 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue when switching back to custom sensor type in physical camera (#417)

* Fix issue when switching back to custom sensor type in physical camera

* make if comparison more explicit

* make if comparison more safe

* Per-camera history for the custom settings using a static dictionary

* Use ConditionalWeakTable instead of a Dictionary to avoid keeping alive deleted cameras

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix a null ref exception when running playmode tests  (#360)

* fix a null ref exception when running playmode tests with the render pipeline debug window opened

* use empty array

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed some gcalloc in the debug window (#445)

* Fixed some GCAlloc in the debug window

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update reference screenshot dx12

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617) (#443)

* Fixed shader graphs not casting semi-transparent and color shadows (case 1242617)

* Fix an issue with thin refraction SG and updating screenshots

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Create Shaders.meta

* Hdrp/small ui update (#423)

* Removed logic in the UI to disable parameters for contact shadows and fog volume components as it was going against the concept of the volume system.

* Update changelog.

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update settings for DXR

* Update SetToCameraNearPlane.cs

* Add an option to disable shadow bias

* Don't query cull results if we don't have them (#449)

* test with a guard

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update screenshot (#463)

* Disable test HDRP_GraphicTestRunner.8105_BlendStates_b on DX12

* Update TestCaseFilters.asset

* Revert "Disable async compute for D3D12 [Hold] (#301)" (#469)

This reverts commit dc35b61d1d19ad1b363b8fbb582a076014e84b16.

* Revert "Add an option to disable shadow bias"

This reverts commit 2dfeab269baab914fd541f8fa358463d38334f6c.

* PBR Sky renderer now shares its internal precomputation table between different instances. (#250)

* PBR Sky renderer now shares its internal precomputation table between different instances.

* Update changelog

* Doc update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Makes sure quaternion is normalized and valid before converting to ma… (#331)

* Makes sure quaternion is normalized and valid before converting to matrix.

* Updated Changelo.

* Revert "Updated Changelo."

This reverts commit 60e65b50f3ab7fc241556e1c8f46b680defe36e2.

* Update CHANGELOG.md

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* New tooltip for camera background and fixed exposure when switching the background mode. (#415)

* Put more information in Camera background type tooltip and fixed inconsistent exposure behavior when changing bg type.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix issue causing not all baked reflection probes to be deleted  (#441)

* Clear the queue once filled up and push elements that failed to be pushed.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed asset preview being rendered white because of static lighting sky. (#462)

* Fixed an issue where asset preview could be rendered white because of static lighting sky.

Also fixed an issue where static lighting was not updated when removing the static lighting sky profile.

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed null reference exception in LookDev when setting the SRP to None (#447)

* Fixed null reference exception in LookDev when setting the SRP to None

* Review feedback

* Review feedback 2

* Fix show cookie atlas debug mode (#475)

* Fix the show cookie atlas debug mode not displaying correctly

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Enable DXR playmode test (#472)

* Update upm-ci-hdrp_dxr.yml

* add hdrp dxr playmode test to all hdrp ci

* Update upm-ci-hdrp.yml

* Update upm-ci-hdrp.yml

* change planar atlas size to 1024

* Update upm-ci-hdrp.yml

* Update 802_SubSurfaceScatteringForward.png

* update scene

* update 5001 lighting

* fix exposure for 5001 path tracing test

* update player screenshots

* disable 5001 path tracing as it fail on yamato

* Fix few multi-editing issues with Emission UI (#473)

* Working but not nice

* Remove unecessary cruft

* tiny changes

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Re-enable cubemap thumbnail gen only for d3d11 (#487)

* re-enable thumbnail gen only for d3d11

* Update changelog

* try enable metal

* Update changelog and comment

* Check reflection probe null pointer before use. (case 1244047) (#456)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Remove max atlas probe alloc size in HDRP asset (#458)

* Fixed max alloc planar size not taking in account the max cache size

* Removed the max cache clamp on texture atlases

* Hd/fix undo environmentlibrary lookdev (#490)

* fix undo redo for environment library

* Update CHANGELOG.md

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix vulkan test

* SSGI Implementation (#95)

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Change Sky in 5001 PT Test to HDRI Sky + update image (#502)

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Update 802_SubSurfaceScatteringForward.unity

* fix vulkan warring and wrong meta

* Update upm-ci-hdrp.yml

* Fix merge issue with Test filter

* Use path relative to package for depth of field  (#523)

* Use absolute paths for dof include

* changelog

* Fix Light overlap (#444)

* Added the light overlap volume code

* Updated changelog

* Made outline thinner and removed the semi-transparent color of the light shape in light overlap debug mode

* Fixed documentation

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fixed API breakage. (#524)

* [Docs] Add missing documentation for Accumulation, AOVs, path-traced DoF (#532)

* AOV documentation

* minor change in the comments

* Accumulation documentation

* minor improvements

* Rewrite the AOV script. Now it is stand-alone.

* Typo

* Add path traced DoF documentation

* Reviewed AOV doc

* Reviewed accumulation doc

* Reviewed path-traced dof doc

* Add missing OnDestroy in example script

Co-authored-by: Lewis Jordan <lewis.jordan@hotmail.co.uk>

* Restore some XR HDRP tests (#382)

* restored XR tests

* revert and split changes for temporal effects in another branch

* fix XR tests using volumetrics

* 8103 is still acting randomly

* try to set timeout to 30s to confirm it's working

* set timeout to 5 min per test for HDRP instead of default 3 min

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix taaFrameIndex and restore TAA tests for XR (#534)

* fix taaFrameIndex and temporal effects with the test suite

* increase waitFrames to 64 on the TemporalAA test scenes and enable XR compatibilty

* update ref images

* set waitFrames for HDRP runtime test scene

* reset camera before waiting

* update reference images from Yamato

* revert change to 001-HDTemplate

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255) (#488)

* Fixed the sub surface mask not being taken into account when computing ray traced sub surface scattering (1247255)

* Add missing inverse exposure multiplier

* Add support for batchmode (#542)

* Update 9301_MotionVectorsOff-Forward-Dynamic.png

* Fix custom pass prefabs (#419)

* Fix custom pass integration with prefabs

* Updated changelog

* Fixed prefab highlight not updated when adding/removing custom passes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Correctly dealloc/realloc resources when switching RenderGraph on and off. (#328)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* Reverted volumetric lighting changes and now render graph version uses the shared textures.

* Clone in the Asset folder when the original volume profile is in a re… (#508)

* Clone in the Asset folder when the original volume profile is in a read only package. (case 1154961)

* Added changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Adding code for history rejection for SSGI and adding a disabled test that should be used (test framework doesn't support) (#529)

* Custom Pass API (part 1) (#155)

* Begin to write the new custom pass API

* Begin to add custom pass utils shader

* Begin to add custom pass API test scenes

* Fixes for the Gaussian blur of the custom pass API

* Fix blur release

* Added custom pass copy test and fixed blur

* Added more custom pass documentation

* Added custom pass API graphic test reference image

* Added more obsolete things

* fix function visibility

* Updated changelog

* Added custom pass API test scene

* Fixed custom pass API doc

* Moved obsolete execute function into the new one

* Updated custom clear pass to use the new API

* Updated custom pass API test reference image

* update reference screenshots

* Fixed various scale issues in the blur custom pass API and updated reference screenshot

* Disable custom pass API test because it's unstable

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Implement Constant Buffers for HDRP (part 3) (#98)

* Fixed execution error without raytracing

* Prepare Prepass refacto

* Another round of preparation

* Renamed XRPassScope to XRSinglePassScope

* RenderAfterPostProcess is now static

* Add AfterPostProcess to RenderGraph (WIP)

* AfterPostProcess implementation

* Fixed wrong RTHandle allocation

* Fixed light layers texture binding during deferred lighting pass

* Implemented Post Process Final Pass with RenderGraph

* Post merge fixes

* Fixed some issues with missing buffers in SSS and deferred lighting compute shaders.

* Fixed alpha in post processes

* Removed RenderGraphResource and RenderGraphMutableResource in favor of more explicit RendererListHandle and TextureHandle

* Fixed decal normal patch pass

* Fixed stencil resolve render pass

* Fixed RenderDBuffer render pass function capturing variables.

* Fixed wrong variable capture and restored ClearLightList to the render graph implementation of BuildGPULightList

* Various fixes of things that diverged compared to regular path.

* Unified renderer list and texture invalid handle error.

* Revert wrong change

* Added constant buffer hlsl generation

* Changed UnityGlobal constant buffers to ShaderVariablesGlobals and generate it from C#

* post merge fix

* Removed useless comment.

* Missing doc

* Started moving cmd.SetGlobalXXX to update the global CB (WIP)

* Implemented Volumetrics global CB and various fixes.

* Implemented shadow global CB update.

* Finished up Global Constant Buffer setup

* Fix null ref

* Fixed global constant buffer alignment issues.

* Fixed shadows and SSS

* Small ConstantBuffer API refacto

* Small fix

* Volumetric Constant Buffer implementation + Fix

* Fix ambient occlusion

* Removed redundant SetGlobalXXX

* Light list build global CB implementation

* Fixed path tracing frame index constant

* Fixed ao constant w/ raytracing

* Better path tracing fix.

* Refactored CB API to comply with Render Graph specificities

* Update test screenshot

* Fixed constant buffer generation to use macros.

* Implemented XR global constant buffer.

* Removed useless global constant

* Fixed XR global constant name

* Converted SSR to constant buffer.

* Converted AO to constant buffers.

* Fixed warning

* Removed some useless SetGlobalXXX in Light Cookie Manager

* Converted debug display to use constant buffer.

* Fixed color/depth pyramid debug

* Cleanup

* Implemented constant buffer for PBR sky global variables.

* Warning fix

* Small fix

* Cleanup of global setup happening before rendering (render graph path or not).

* Post merge fix

* Added global constant buffer hlsl generation.

* Post merge fix

* Converted raytracing lightloop variables to constant buffer.

* Converted RayTracing global variables to constant buffer.

* Removed obsolete comment

* Post merge fix

* Post merge fix

* Post merge fix 2

* Double inclusion fix.

* Fixed CB visibility

* Fixed compilation after the merge

* Indentation fix

* Removed temporary comments.

* Moved some constants around.

* Post merge fix + Port ProbeVolume global variables to constant buffers.

* Fixed deallocation of constant buffers

* Properly release Volumetric constant buffers.

* Another update to CB API

* Updated documentation.

* Missing generated file

* Post merge fix

* Fixed various issues with light probe volumes.

* Fixed light list build parameters and a nullref exception when probe volumes aren't enable and there are volumes in the scene.

* Final fix for probe volumes

* Fixed a warning in shader compilation

* Changes from review feedback

* Compilation fix.

* Post merge fix

* Removed useless constant

* Crash fix

* Post merge fix

* Update 501_RecursiveRendering.png

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Hd/fix wizard defaultvolumeprofile creation (#565)

* Fix Wizard check on default volume profile

* Update CHANGELOG.md

* Small TAA Anti-flicker changes (#555)

* tweaks

* Change default so that is just high quality.

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Fix central depth sampling in TAA (#564)

* Fix sampling of central depth

* changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Render Graph Async Compute (#552)

* Handle deallocation/reallocation of resources when switching rendergraph on/off (WIP)

* AO and Post Processes.

* Prefixed all history buffers with camera name for readability in the memory profiler.

* LIght volume debug and Volumetric  (WIP)

* Fixed volumetric

* Fixed deallocation of SSS buffers

* Review feedback fixes.

* Init order fix for post process

* WIP: refactoring of render graph compilation and resource allocation to prepare for async dependencies.

* Implementation of async resource synchronization.

* Fixed synchronization (only partial fix)

* Added default profiling sampler for render graph passes not providing one.

* Async WIP

* Fixed async synchronization by extending lifetime of resources freed during async pass to the first graphics task that wait for async.

* Post merge fix

* Cleanup

* Removed comment.

* Disabled async contact shadows again.

* Small cleanup

* Change exposure compensation in the default volume profile to 0. (#388)

* Change profile (And add missing setting)

* changelog

* Upgrade guide

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Histogram guided auto-exposure + debug modes (#372)

* some very incomplete stuff...

* sync point, rough working version

* Mostly working for now, moving onto debug vis and maybe revisit.

* Commit as I need branch switching - Start debug modes

* Add a bunch of debug mode and start of histogram

* Delimiters indicator with bars

* Add another option for percentile exttremes

* fix warning

* Moving debug modes

* Label bar separate (invisible otherwise)

* Push change to bar indicator

* remove fancy background of histogram frame

* Small triangle instead of indicator bars

* Target exposure indicator

* add some margin

* Add an X at center

* Metering PiP

* Draw tonemap curve and use tonemapped texture for view

* Share some code

* Curve remapping for histogram and fix some warning

* Some comments fixup

* Simple comment changes

* Revert debug symbol in shader

* Changelog

* review fixups

* Review feedback

* Bad merge fixup

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* Refactor shadow caching system (#554)

* Very debuggy code just start nothing functional or usable yet.

* remove old cached stuff (not finished, need switch branch)

* revert wrongful commit

* A bit of restructuring

* A good point as any to sync up

* sync

* Move from old repo...

* fix regression

* Handle case in which shadow doesn't fit

* leftover not committed

* Fix some issues with culling of point lights from the

* preliminary support for cascaded shadows

* Fix some issue with the directional

* Subshadow update

* Add some guards, some debug and the new C++ api for infinite bounds

* Some UI for the resolution

* Fix merge issues

* Update debug cs.hlsl

* Render graph stuff and some leftover removal

* micro cleanup

* Fix behaviour when defragging and excess lights are there

* Public API

* Remove dbg names

* Bug on debug view of area atlas

* Missing field on new PCSS signature for directional

* More public API

* Refresh cached shadows on resolution changes.

* merge conflicts patchup

* Fix missing shadows on normal shadows

* Small cleanup and turning positive the doesn'tHavePlacement

* Fix case on switching light type and issue with non-rectangle area lights

* tentative fix for error on build

* Debug logging

* update naming of debug

* Fix issue with double inclusion

* DOCS

* upgrade guide

* post merge fixups

* leftover comment

* changelog

* Doc changes in upgrade guide

* have print debug info only in editor

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>

* update reference screenshots

* VFX test: Replace auto exposure by fix exposure in ParticleRibbonTest

* Fixed light layers not correctly disabled when the lightlayers is set to Nothing and Lightlayers isn't enabled in HDRP Asset (#584)

* remove useless code for cookie

* Hdrp/fix camera switcher (#591)

* Fixed a wrong condition in camera switcher, potentially causing out of bound exceptions.

* update changelog.

* fix issue that prevents PS4 from building (#596)

* Removed experimental namespace for ray tracing code. (#612)

* Hdrp/multi view pt (#518)

* Multiview (scene + game) path tracing accumulation.

* Cosmetic.

* Modifications to address comments in PR.

* Updated PT fog test.

* Updated Changelog.

* Fixed issue with unlit shader graphs in path-traced mode.

* Update CHANGELOG.md

* Update HDUnlitSubTarget.cs

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>

* Fix Look Dev default profile not updating correctly (#630)

* Fixed an issue where editing the lookdev default profile would not reflect directly…
pastasfuture pushed a commit that referenced this pull request Aug 20, 2021
* Apply lossy scale of a Decal Projector transform to handles and rendering in addition to the size. Doesn't support non-positive scale yet.

* Support non-positive scale by Decal Projector handles.

* Workaround for rendering of a Decal Projector with flipped scale.

* Apply scale to a Decal Projector position offset to support scaling along the Z axis.

* Fixed Decal Projector Angle Fade for scale with negative Z.

* Cleaned up Decal Projector handles drawing.
pastasfuture added a commit that referenced this pull request Aug 20, 2021
* Implemented SH from SG Modes which can be toggled between in the Probe Dynamic GI volume settings. SamplePeakAndProject is the same mode we are used to: Spherical gaussians will simply be evaluated at their peak and projected to convert to spherical harmonics. SHFromSGFit: A spherical gaussian to spherical harmonic function fit is used, which is physically plausible. SHFromSGFitWithCosineWindow: A spherical gaussian with an additional cosine window to spherical harmonic function fit is used, which is physically plausible. Less directional blur than SHFromSGFit.

* Cleanup pass on SG to SH supporting math. Created Zonal Harmonic data type with supporting functions to add type saftey to the transforms as we have done with the other spherical harmonic functions. Created specialized zonal harmonic rotation functions which significantly reduces the work required for rotation. It's possible the compiler was handling this already by stripping out work on zero coefficients, and by automatically using floats instead of float3s when all channels are the same - but better to not put too much pressure on the compiler. This should also make it easier in the future to create specialized rotation functions for cardinal rotations (which will introduce additional zeros).

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>
pastasfuture pushed a commit that referenced this pull request Sep 15, 2021
* Apply lossy scale of a Decal Projector transform to handles and rendering in addition to the size. Doesn't support non-positive scale yet.

* Support non-positive scale by Decal Projector handles.

* Workaround for rendering of a Decal Projector with flipped scale.

* Apply scale to a Decal Projector position offset to support scaling along the Z axis.

* Fixed Decal Projector Angle Fade for scale with negative Z.

* Cleaned up Decal Projector handles drawing.
pastasfuture added a commit that referenced this pull request Sep 15, 2021
* Implemented SH from SG Modes which can be toggled between in the Probe Dynamic GI volume settings. SamplePeakAndProject is the same mode we are used to: Spherical gaussians will simply be evaluated at their peak and projected to convert to spherical harmonics. SHFromSGFit: A spherical gaussian to spherical harmonic function fit is used, which is physically plausible. SHFromSGFitWithCosineWindow: A spherical gaussian with an additional cosine window to spherical harmonic function fit is used, which is physically plausible. Less directional blur than SHFromSGFit.

* Cleanup pass on SG to SH supporting math. Created Zonal Harmonic data type with supporting functions to add type saftey to the transforms as we have done with the other spherical harmonic functions. Created specialized zonal harmonic rotation functions which significantly reduces the work required for rotation. It's possible the compiler was handling this already by stripping out work on zero coefficients, and by automatically using floats instead of float3s when all channels are the same - but better to not put too much pressure on the compiler. This should also make it easier in the future to create specialized rotation functions for cardinal rotations (which will introduce additional zeros).

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>
mohammad22 pushed a commit that referenced this pull request Mar 2, 2022
* Apply lossy scale of a Decal Projector transform to handles and rendering in addition to the size. Doesn't support non-positive scale yet.

* Support non-positive scale by Decal Projector handles.

* Workaround for rendering of a Decal Projector with flipped scale.

* Apply scale to a Decal Projector position offset to support scaling along the Z axis.

* Fixed Decal Projector Angle Fade for scale with negative Z.

* Cleaned up Decal Projector handles drawing.
mohammad22 pushed a commit that referenced this pull request Mar 2, 2022
* Implemented SH from SG Modes which can be toggled between in the Probe Dynamic GI volume settings. SamplePeakAndProject is the same mode we are used to: Spherical gaussians will simply be evaluated at their peak and projected to convert to spherical harmonics. SHFromSGFit: A spherical gaussian to spherical harmonic function fit is used, which is physically plausible. SHFromSGFitWithCosineWindow: A spherical gaussian with an additional cosine window to spherical harmonic function fit is used, which is physically plausible. Less directional blur than SHFromSGFit.

* Cleanup pass on SG to SH supporting math. Created Zonal Harmonic data type with supporting functions to add type saftey to the transforms as we have done with the other spherical harmonic functions. Created specialized zonal harmonic rotation functions which significantly reduces the work required for rotation. It's possible the compiler was handling this already by stripping out work on zero coefficients, and by automatically using floats instead of float3s when all channels are the same - but better to not put too much pressure on the compiler. This should also make it easier in the future to create specialized rotation functions for cardinal rotations (which will introduce additional zeros).

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>
mohammad22 pushed a commit that referenced this pull request Oct 19, 2022
* Apply lossy scale of a Decal Projector transform to handles and rendering in addition to the size. Doesn't support non-positive scale yet.

* Support non-positive scale by Decal Projector handles.

* Workaround for rendering of a Decal Projector with flipped scale.

* Apply scale to a Decal Projector position offset to support scaling along the Z axis.

* Fixed Decal Projector Angle Fade for scale with negative Z.

* Cleaned up Decal Projector handles drawing.
mohammad22 pushed a commit that referenced this pull request Oct 19, 2022
Probe Volume Dynamic GI V1 (#7)

Large feature addition to Probe Volumes to support Dynamic GI at runtime & in editor via compute jobs. Huge coordination across game team, Spotlight & HDRP team to refine the algorithm and feature set.

Key Features
- New toggle on a light "Affects Dynamic GI"
- New toggle on a probe Volume "Support Dynamic GI"
- New debug draw mode on a probe volume "Draw Neighbors" to visualize the neighbor the dynamic GI light will bounce around in
- All light types are supported

Missing features
- During albedo baking step, mask volumes are not being sampled correctly
- Off screen lights are missing their shadows when being sampled by the Hit pass of the Dynamic GI compute shader
- Directional light GI seems off, maybe its the offscreen shadow issues
- Sky lighting is not supported at the moment in the dynamic GI
- Currently does not encode emissive in the neighborhood bake data, only albedo, surface distance & normal
- Currently does require a re-bake when geometry changes, the only thing it relies on getting from the lightmapper is the probe validity value

Commit notes:
* Added dynamic GI options onto HDLight and ProbeVolume inspectors
* work in progress dynamic gi
* lots more refactoring on the data model and packing for hits vs misses
* Cleanup dynamic GI code into separate file
* Working axis baking code with visualization
* small fixes
* validity scale fix
* neighbor draw quad scale control
* small fix
* scale fix
* First pass at albedo extraction code for DynamicGI
* bake bug fix
* Albedo baking via Shader Graph works now, and more tweaks to neighbor debug draw
* bug fix
* Dynamic GI neighbor cleanup to use real probe volume data for positioning
* bug fix for non uniform density volumes
* cleanup
* Cleanup and setup of Propagation Buffers
* more work in progress dynamic GI, have a test read modify write of SH data working
* cleanup dynamic GI values when its disabled
* more cleanup
* bug fix
* New improved Albedo sampling code from Francesco
* cache debug shader not material, works better for some reason
* Lots of shader code and setup for real-time GI propagation. Still a work in progress but most code written on GPU side
* All the compute data hooked up first pass
* Kinda of working
* Slightly better, still not there
* Fixes plus re-write of SH data in dynamic GI
* First kinda working version of new RTGI, needs lots of tuning and improvements
* Move VolumeComponent to seperate file so it is preserved when assets are saved
* More improvements, anti alias punctual lights and add a secondary bounce to hits
* Tweaks, added FCC's SH logic for testing / comps
* Cleanup and addition of 3D texture for Irradiance sampling to smooth out history
* Cleanup & and added back bounce boost control for hit pass
* Tuning defaults
* more filddleing with defaults
* temp code for testing
* Intended L1
* Adding Affect Dynamic GI to light explorer UI
Fixing hit lighting logic to work with multiple lights
* Adding de-ringing to SH
Exposing class outside of HDRP for play mode testing
* Move probe volume update code around so worked better with needing state set before dispatches
* Integration of SG logic for Irradiance Cache, way cleaner and better results. Removed old Irradiance cache logic using L1 SH
* More cleanup and refinements of SG algorithm
* Bias punctual lights near surfaces to fix strobing
* Cleanup
* name cleanup
* Support volume rotation in neighbor debug view mode
* Fixed contribution normalization. Changed the direction for infinite bounces evaluation from reflection to surface normal.
* changing default sharpness to 3.5 to reduce dark banding a tad
* Hacked prototype of an alternative propagation algorithm.
* Smoothed radiance gathering from hits.
* Cleanup and temp NaN propagation workaround.
* Changed History Contribution min limit to 0 to be able to test propagation without it.
* Removed old algorithm, cleaned up data format and volume parameters to make new directional version the default one
* Fixed Probe Volume dynamic GI data access after merging with the DOTS Probe Volume feature.

Signed-off-by: Andrew Saraev <andrew.saraev@unity3d.com>

* Fixed up popping issues with Dynamic GI and other probe volumes in view, plus made it so the light list is global, not camera view culled so all lights stay active in the list for GI to propagate more accurately and shadows to update even for lights behind the camera.

Merged with latest

* Build compile fixes
* Player build fixes, real-time GI now works in player builds
* HDRP settings and toggles for probe volume dynamic GI
* missed files for previous checkin
* small optimizations
* turn on optimizations in key dynamic gi shaders for perf
* Custom dynamic GI light list that also includes off screen lights
* Explicitly set dataUpdated when data is uploaded to the atlas instead of setting it in GetPayload() of the volume. To simplify communication with the DOTS version.

* use shadows for dynamic GI lights. This still has a bug where off screen lights get their shadow indexes reset to -1
* Better disposing of propagation buffers
Cleaned up global compute buffers for SH L012 and validity buffers, and reusing those per probe volume for propagation to reduce memory usage

* possible mem leak fix & piping light bounce intensity through to dynamic GI
* Some PR feedback and distance checks to probe hit & propagation phases

* Added basic distance checks to entire probe volume to dispatch dynamic GI jobs or not
* directional lights are weird, maybe the shadows, we should avoid them
* PR feedback
* Refactored ProbeVolumeBuffers cleanup to keep GameObject and DOTS logic similar.
* Attempt to reduce white space conflicts
* Profiler marker for Dynamic GI
Slight optimization in light loop
* Optimized C# by not doing SetData calls on Buffers unnecessarily

Co-authored-by: Andrew Saraev <andrew.saraev@unity3d.com>

Bug fixes from Dynamic GI.
Cleanup buffers after bakes, and only dispatch dynamic GI for scene or game cameras

Dynamic GI Spherical Harmonic from Spherical Gaussian Modes (#9)

* Implemented SH from SG Modes which can be toggled between in the Probe Dynamic GI volume settings. SamplePeakAndProject is the same mode we are used to: Spherical gaussians will simply be evaluated at their peak and projected to convert to spherical harmonics. SHFromSGFit: A spherical gaussian to spherical harmonic function fit is used, which is physically plausible. SHFromSGFitWithCosineWindow: A spherical gaussian with an additional cosine window to spherical harmonic function fit is used, which is physically plausible. Less directional blur than SHFromSGFit.

* Cleanup pass on SG to SH supporting math. Created Zonal Harmonic data type with supporting functions to add type saftey to the transforms as we have done with the other spherical harmonic functions. Created specialized zonal harmonic rotation functions which significantly reduces the work required for rotation. It's possible the compiler was handling this already by stripping out work on zero coefficients, and by automatically using floats instead of float3s when all channels are the same - but better to not put too much pressure on the compiler. This should also make it easier in the future to create specialized rotation functions for cardinal rotations (which will introduce additional zeros).

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Dynamic GI: Fix a bunch of shader warnings in DynamicGI shaders.

Bug fix so that lights can act as dynamic GI only lights
mohammad22 pushed a commit that referenced this pull request Oct 20, 2022
* Apply lossy scale of a Decal Projector transform to handles and rendering in addition to the size. Doesn't support non-positive scale yet.

* Support non-positive scale by Decal Projector handles.

* Workaround for rendering of a Decal Projector with flipped scale.

* Apply scale to a Decal Projector position offset to support scaling along the Z axis.

* Fixed Decal Projector Angle Fade for scale with negative Z.

* Cleaned up Decal Projector handles drawing.
mohammad22 pushed a commit that referenced this pull request Oct 21, 2022
Probe Volume:

Uncomment Probe Volume related menu items

Baked Lighting Workflow: Maintain lists of all Probe Volume instances and publicly expose to allow game-specific bake code to turn on and off relevant lighting data for context-specific bakes.

Probe Volume:

Probe Volume Improvements

Probe Volumes: Force the lightmapper to free old additionalbakedata jobs in a few cases, such as when probe volumes are disabled, or when probe volumes are hidden. Previously, it looks like the lightmapper could hang onto this data until you quit. (#19)

Probe Volumes: Lots of bugfixes and improvements to bilateral filtering modes. Octahedral Depth data now working (requires changes on the C++ side). Added support for comparing filtering the texel coordinates and then taking a single sample, vs taking 8x samples and then filtering the results. Ported over from unity graphics repo 3c3b091

Probe Volumes: Lots of bugfixes around baking. Reflection Probes and Density Volumes: now respect scene visibility toggles in regards to their contribution to the scene. TODO: Remove debug logging that was added! Backing up WIP work.

SceneObjectIDMap: Fix bug where index from gameobject dictionary would get out of sync from entries after an insertion occurred to fill a hole. This resulted in a nasty bug where reflection probes would occasionally generate the same filename as eachother, would overwrite eachothers textures, and would point to the same texture after the bake completed.

Probe Volume: Comment out log spam. Planning to clean it out completely in a follow up commit

Probe Volume: Remove log spam from ProbeVolumeManager

Added HDRP_STRIP_LEGACY_AMBIENT_PROBE_BAKING define for enabling legacy ambient probe bake feature stripping - requires custom build with backport of https://ono.unity3d.com/unity/unity/pull-request/123092/_/lighting/SRP-opt-out-skymanager

Make HDBakedReflectionSystem public for baking API

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volume: Wrap editor-only variable dataNeedsDilation in UNITY_EDITOR define blocks to avoid warnings.

Probe Volumes: Track whether or not bake inputs has been set, and only attempt to get bake data if the inputs was set. Otherwise the lightmapper will error out.

Probe Volume: Add View Bias support - exposed on the ProbeVolume component next to Normal Bias (#25)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

 Probe Volume:

 Probe Volume binary serialization and minor fixes

* Prefer binary serialization of Probe Volume assets.

* Added "Reserialize All" action to context menus of ProbeVolumeAsset to be able to convert all assets in a project to binary format.

Probe Volume: Add support for sampling probe volumes from volumetrics. Probe Volume inner loop cleanup happened in the process. Added support for disabling bilateral filtering via a define, which is used in volumetrics and vfx sampling of probe volumes now.

Fix bug where density volume voxelization would erroneously sample and voxelize density volumes that no longer existed due to assumption that density volumes were last in the light list (they are not anymore: probe volumes come after).

Probe Volumes: Reflection Probe Normalization by Probe Volumes added. In order to enable, NormalizeReflectionProbeWithProbeVolume needs to be enabled in the Frame Settings for the Camera, and scenes need to be rebaked. Options exist on the ProbeVolumeController volume override. (#27)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volumes: Reflection Probe Normalization: Add #if UNITY_EDITOR guards around Subscribe/UnsubscribeSHBaking

Probe Volume: Fix vector truncation warnings in sample SH Luminance functions

Probe Volume: Fix one more vector trunction warning

Enable Probe Volumes with L2 Encoding mode

Probe Volumes: Lots of bugfixes and improvements to bilateral filtering modes. Octahedral Depth data now working (requires changes on the C++ side). Added support for comparing filtering the texel coordinates and then taking a single sample, vs taking 8x samples and then filtering the results. Ported over from unity graphics repo 3c3b091

Probe Volume Normalization Baking Bugfix: Sanitize out sentinel values from reflection probe request positions array - large values caused the lightmapper to barf killing all direct lighting contribution. Also added tracking for whether or not the data was set, as the lightmapper is not robust to multiple set calls

Probe Volume: Make ProbeVolumeinternals visible to Unity.Entities.Hybrid.HybridComponents so that they can be converted for hybrid rendering

Probe volumes rotation + reflection probe normalization fixes and improvements. Also lots of cleanup to avoid debug-only + lightmapper work when in playmode. Cleaned out old deadcode + comments. Cleaned some GC cases (#1)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

ReflectionProbeLuminanceSHPreview: Fix path to shader after merge conflict resolution mistake

Probe Volume: Fix bug where bakingEnabled flag was not correctly being set to false when ForceOff was triggered in the editor (not in playmode). Also add additional logging around case where lightmapper does not have data for a specific ID (so we can track down the source faster in the future)

Probe Volume: Set methods for Probe Volumes exposed that allows us to use them to do deep copies of Scenes

Probe Volume Reflection Probe Normalization: Use dominant specular direction for normalization instead of R. For low roughness materials, this has little to no effect (because it uses the R vector still). For high roughness materials, this bends towards normalizing against the surface normal instead of R. So this feature improves quality of high roughness specular

Fix warning log that had some formatting error

DOTS Probe Volume (#2)

Changed the runtime registration and access of Probe Volumes to be able to feed additional data for rendering from a DOTS system.

Avoid boxing when using ProbeVolumeAtlasKey in a dictionary. (#4)

Probe Volume Reflection Probe Normalization: Fix error: Output Particle Lit Quad': undeclared identifier 'ComputeReflectionProbeNormalizationDirection'

Fix double dark ao and ao in lightloop (#12)

Fix double dark AO + material AO availability in light loop for probe volumes. Probe Volumes: Pack AO and isUninitializedGI flag into .x channel of light layers GBuffer RT to fix double dark AO and to allow emissive surfaces to receive probe volume lighting. Also perform small restructuring to a probe volume bilateral filter function to remove a shader warning

Dynamic GI:

Probe Volume Dynamic GI V1 (#7)

Large feature addition to Probe Volumes to support Dynamic GI at runtime & in editor via compute jobs. Huge coordination across game team, Spotlight & HDRP team to refine the algorithm and feature set.

Key Features
- New toggle on a light "Affects Dynamic GI"
- New toggle on a probe Volume "Support Dynamic GI"
- New debug draw mode on a probe volume "Draw Neighbors" to visualize the neighbor the dynamic GI light will bounce around in
- All light types are supported

Missing features
- During albedo baking step, mask volumes are not being sampled correctly
- Off screen lights are missing their shadows when being sampled by the Hit pass of the Dynamic GI compute shader
- Directional light GI seems off, maybe its the offscreen shadow issues
- Sky lighting is not supported at the moment in the dynamic GI
- Currently does not encode emissive in the neighborhood bake data, only albedo, surface distance & normal
- Currently does require a re-bake when geometry changes, the only thing it relies on getting from the lightmapper is the probe validity value

Commit notes:
* Added dynamic GI options onto HDLight and ProbeVolume inspectors
* work in progress dynamic gi
* lots more refactoring on the data model and packing for hits vs misses
* Cleanup dynamic GI code into separate file
* Working axis baking code with visualization
* small fixes
* validity scale fix
* neighbor draw quad scale control
* small fix
* scale fix
* First pass at albedo extraction code for DynamicGI
* bake bug fix
* Albedo baking via Shader Graph works now, and more tweaks to neighbor debug draw
* bug fix
* Dynamic GI neighbor cleanup to use real probe volume data for positioning
* bug fix for non uniform density volumes
* cleanup
* Cleanup and setup of Propagation Buffers
* more work in progress dynamic GI, have a test read modify write of SH data working
* cleanup dynamic GI values when its disabled
* more cleanup
* bug fix
* New improved Albedo sampling code from Francesco
* cache debug shader not material, works better for some reason
* Lots of shader code and setup for real-time GI propagation. Still a work in progress but most code written on GPU side
* All the compute data hooked up first pass
* Kinda of working
* Slightly better, still not there
* Fixes plus re-write of SH data in dynamic GI
* First kinda working version of new RTGI, needs lots of tuning and improvements
* Move VolumeComponent to seperate file so it is preserved when assets are saved
* More improvements, anti alias punctual lights and add a secondary bounce to hits
* Tweaks, added FCC's SH logic for testing / comps
* Cleanup and addition of 3D texture for Irradiance sampling to smooth out history
* Cleanup & and added back bounce boost control for hit pass
* Tuning defaults
* more filddleing with defaults
* temp code for testing
* Intended L1
* Adding Affect Dynamic GI to light explorer UI
Fixing hit lighting logic to work with multiple lights
* Adding de-ringing to SH
Exposing class outside of HDRP for play mode testing
* Move probe volume update code around so worked better with needing state set before dispatches
* Integration of SG logic for Irradiance Cache, way cleaner and better results. Removed old Irradiance cache logic using L1 SH
* More cleanup and refinements of SG algorithm
* Bias punctual lights near surfaces to fix strobing
* Cleanup
* name cleanup
* Support volume rotation in neighbor debug view mode
* Fixed contribution normalization. Changed the direction for infinite bounces evaluation from reflection to surface normal.
* changing default sharpness to 3.5 to reduce dark banding a tad
* Hacked prototype of an alternative propagation algorithm.
* Smoothed radiance gathering from hits.
* Cleanup and temp NaN propagation workaround.
* Changed History Contribution min limit to 0 to be able to test propagation without it.
* Removed old algorithm, cleaned up data format and volume parameters to make new directional version the default one
* Fixed Probe Volume dynamic GI data access after merging with the DOTS Probe Volume feature.

Signed-off-by: Andrew Saraev <andrew.saraev@unity3d.com>

* Fixed up popping issues with Dynamic GI and other probe volumes in view, plus made it so the light list is global, not camera view culled so all lights stay active in the list for GI to propagate more accurately and shadows to update even for lights behind the camera.

Merged with latest

* Build compile fixes
* Player build fixes, real-time GI now works in player builds
* HDRP settings and toggles for probe volume dynamic GI
* missed files for previous checkin
* small optimizations
* turn on optimizations in key dynamic gi shaders for perf
* Custom dynamic GI light list that also includes off screen lights
* Explicitly set dataUpdated when data is uploaded to the atlas instead of setting it in GetPayload() of the volume. To simplify communication with the DOTS version.

* use shadows for dynamic GI lights. This still has a bug where off screen lights get their shadow indexes reset to -1
* Better disposing of propagation buffers
Cleaned up global compute buffers for SH L012 and validity buffers, and reusing those per probe volume for propagation to reduce memory usage

* possible mem leak fix & piping light bounce intensity through to dynamic GI
* Some PR feedback and distance checks to probe hit & propagation phases

* Added basic distance checks to entire probe volume to dispatch dynamic GI jobs or not
* directional lights are weird, maybe the shadows, we should avoid them
* PR feedback
* Refactored ProbeVolumeBuffers cleanup to keep GameObject and DOTS logic similar.
* Attempt to reduce white space conflicts
* Profiler marker for Dynamic GI
Slight optimization in light loop
* Optimized C# by not doing SetData calls on Buffers unnecessarily

Co-authored-by: Andrew Saraev <andrew.saraev@unity3d.com>

Bug fixes from Dynamic GI.
Cleanup buffers after bakes, and only dispatch dynamic GI for scene or game cameras

Dynamic GI Spherical Harmonic from Spherical Gaussian Modes (#9)

* Implemented SH from SG Modes which can be toggled between in the Probe Dynamic GI volume settings. SamplePeakAndProject is the same mode we are used to: Spherical gaussians will simply be evaluated at their peak and projected to convert to spherical harmonics. SHFromSGFit: A spherical gaussian to spherical harmonic function fit is used, which is physically plausible. SHFromSGFitWithCosineWindow: A spherical gaussian with an additional cosine window to spherical harmonic function fit is used, which is physically plausible. Less directional blur than SHFromSGFit.

* Cleanup pass on SG to SH supporting math. Created Zonal Harmonic data type with supporting functions to add type saftey to the transforms as we have done with the other spherical harmonic functions. Created specialized zonal harmonic rotation functions which significantly reduces the work required for rotation. It's possible the compiler was handling this already by stripping out work on zero coefficients, and by automatically using floats instead of float3s when all channels are the same - but better to not put too much pressure on the compiler. This should also make it easier in the future to create specialized rotation functions for cardinal rotations (which will introduce additional zeros).

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Dynamic GI: Fix a bunch of shader warnings in DynamicGI shaders.

Bug fix so that lights can act as dynamic GI only lights

Probe Volumes:

Created a proper Probe Volume probe rendering shader. All probes in a selected probe volume are rendered in a single DrawProcedural call, 2 triangle per probe (screen space quads). Allows me to get rid of a lot of nasty mesh setup logic that was previously happening. The new Draw Probes debug shader currently has two additional options: Draw Validity, and Highlight Ringing (#14)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volumes: Use GlobalObjectId.targetObjectId (#16)

* Probe Volumes: Use GlobalObjectId.targetObjectId to uniquely identify Probe Volumes, and Probe Volume Asset ownership, rather than GetInstanceID() - which was not guarenteed to be persistent. This PR cleans up the related logic, allowing us to guarentee non-colliding bake ids, avoids hanging on to asset references during duplication of probe volumes, and, in the case where you have intentionally referenced a probe volume asset on a probe volume that does not own it, avoids baking that asset, which would previously stomp source data.

* Probe Volumes: GlobalUniqueID: Use a custom stack-only + packed representation of the full GlobalObjectId, rather than only using GlobalObjectID.targetObjectId to avoid collisions when different scene probe volumes happen to have the same targetObjectId. This also allows full backwards asset lookup in the future if necessary, which should help debugging + build tools.

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volumes: Make all bake requests go through the AdditionalGIBakeRequestsManager. Track the generationIndex in the least significant 8 bits of the lightmapperBakeID, and talk to the lightmapper with this composite ID. This ensures that anytime we call SetAdditionalBakeProbes we generate a completely unique bake request from the perspective of the lightmapper, ensuring that we will always bake this data (because the lightmapper will hash these IDs to determine if it has any work to do). Previously, if we set an ID with new data, or if we cleared an ID then set it with new data, the lightmapper wouldnt track these data changes, and so it would skip baking these actually new bake requests. (#17)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volumes: Fix Debug Colors display mode - shader line got erroneously commented out in a PR a few months back (#18)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volumes: Fix exposure in Probe Volume debug modes (ensure no exposure is applied (#19)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volumes: Maintain user specified absolute world space positive and negative fade while resizing bounds handle. This makes Probe Volumes resize behavior match behavior of Density Volumes and Reflection Probes. (#20)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volumes: Fix PROBE_VOLUMES_SAMPLING_MODE defines in GetReflectionPRobeNormalizationFactor (#23)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volume: Add RenderGraph support for Probe Volumes.

Originally this was implemented in this PR: Partner/crazyhunter 10.6.0 custom.1 rendergraph 1a835fd
However, the PR contained some fairly large code divergences from mainline - so it was split out into multiple new commits during this upgrade, and divergence was minimized.

Mask Volumes:

Mask Volumes. An ability to place volumes with 3D textures into the world, paint custom color into them and sample this data in any Shader Graph. To be used as a global volumetric splat map. (#16)

(cherry picked from commit f68dc61b5c92ccea7f249e7f58aab1583799ddcb)

Mask Volumes tools update (#22)

* Fixed the issue when the scene view camera moves on selecting the painting tool.

* Use normalized values for color and opacity settings. Fixed the effect of opacity and hardness.

* Added the brush color inversion while Ctrl is pressed, for quick erasing.

* Replaced the Recreate Asset button with Resample Asset. The data is not lost after resizing or changing voxel density now.

* Fixed a Mask Volume resampling error when old resolution has 1 on any axis.

* Mask Volume: Use resolution from MaskVolumeAsset instead of MaskVolumeArtistParameters for rendering. Resolution in parameters is just for creating new assets or resampling to a new resolution.

* Mask Volume: Use normal bias in painting.

* Mask Volume: Use input pressure as opacity.

* Mask Volume: Added inner radius and normal bias brush gizmos.

Mask Volume: Hotfix: Avoid attempting to upload degenerate data to the atlas by extending IsDataAssigned() check to include a Length > 0 test

Fixed the case when a Mask Volume asset is saved to a file empty. The "Resample Asset" button can process an empty asset and fill it with valid data now. (#23)

Mask Volumes binary serialization and minor fixes

* Fixed the case when the painted Mask Volume asset is not saved.
Updated the default brush settings based on the user feedback.

* Prefer binary serialization of Mask Volume assets.

* Added "Reserialize All" action to context menus of MaskVolumeAsset to be able to convert all assets in a project to binary format.

Mask Volume: Fixed minor bug where emptyUAV would silently fail to bind to _MaskVolumeAtlas - using emptyVolumeUAV instead

Mask Volume:

Mask Volume: Make Mask Volume internals visible to Unity.Entities.Hybrid.HybridComponents

Mask Volumes: Set methods for Mask Volume exposed that allows us to use them to do deep copies of Scenes

DOTS Mask Volume (#6)

Refactored the access to Mask Volume instanced to be able to feed a DOTS version to the system.

Probe Volumes:

Probe Volumes: Delete meta file for empty folder accidentially created a while back. Cleans up a warning when the project is first imported (#34)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

 Probe Volumes: Cleanup the state when HDRP has Probe Volumes disabled in the HDRenderPipelineAsset or FrameSettings. Previously we would hit some null reference errors because the disabled paths were not well tested. These fixes should improve the process of setting up Probe Volumes / Mask Volumes in a new project

Probe Volumes: Upadte ProbeVolumeAtlasKey to additionally unique on volume position if the volume is simulating dynamic GI. If dynamic GI is enabled, two probe volumes that point to the same asset, streamed in at different locations need unique space in the atlas (because their dynamic GI component is different). If dynamic GI is disabled, two probe volumes that point to the same asset, streamed in at different locations should share space in the atlas, since their baked data is identical.

Probe Volume:

VolumeGlobalUniqueID and atlas allocation stats

Probe Volumes:

Probe Volumes: Remove Ambient Sky fallback which was used when accumulated probe volume weight was < 1. In our project we never want to fall back to the ambient sky, we want to fallback to black. (#40)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volumes: Fix bug where tiles would receive no probe volume lighting if they contained no direct light sources, and if compute based deferred was enabled. (#41)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Probe Volume: Fix Probe Volume Visibility API

Probe Volume: Fixed compilation error when Probe Volumes are not encoded with SHL2.

Mask Volume:

Mask Volume Feature Parity: Mask Volumes use Global Unique ID system … (#32)

* Mask Volume Feature Parity: Mask Volumes use Global Unique ID system just like Probe Volumes, follow the same eviction scheme as probe volumes, have the same debug rendering options as probe volumes (where relevant) and have dead code paths cleaned out. Global Distance Fade Start / End exposed on the Volume System Probe Volume Controller and new Mask Volume Controller to limit atlas subscription when zoomed way out in large scenes. Volumes are now evicted from the atlas when they are culled in the prepare probe volume / mask volume lists stage.

* Add atlas allocation stats for Mask Volumes

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Mask Volumes: Cleanup the state when HDRP has Mask Volumes disabled in the HDRenderPipelineAsset or FrameSettings. Previously we would hit some null reference errors because the disabled paths were not well tested. These fixes should improve the process of setting up Probe Volumes / Mask Volumes in a new project

Dynamic GI:

Probe Volumes: Dynamic GI: Fix null reference when Draw Neighbors is true, but no probeVolumeAsset has been baked yet. (#30)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Fix for dynamic GI to disable gracefully at runtime

Ported MaskVolumes and Dynamic GI to RenderGraph (#27)

* Ported MaskVolumes to RenderGraph

* Made MaskVolume light lists work with RenderGraph

* Made ProbeVolumes DynamicGI work with RenderGraph

* Remove accidentially introduced extra space (to avoid merge conflicts in the future)

Dynamic GI:

Partner/crazyhunter 10.7.0 custom.1.pvdgi cross volumes (#38)

* Scaffolding for testing how sampling neighbor probe volumes around edges of dynamic GI volumes can help with propagating GI from neighbors. Needs to be filled in

* typo

* work in progress

* Probe Volumes: Fix up case where ProbeVolume.hlsl is included and LIGHTLOOP_DISABLE_TILE_AND_CLUSTER is defined. Add support for dynamic GI border axes sampling all other probe volumes in order to propagate dynamic GI across volume boundaries.

* Fix fade calculation

* Fix warning about sign / unsign mismatch.

* cache and respect the HDRP asset Dynamic GI toggle at runtime for perf testing

* Probe Volumes: Dynamic GI: Add Neighboring Volume Propagation Mode to Probe Dynamic GI Volume Override for selecting which algorithm is used to inject dynamic GI from neighboring probe volumes at boundaries. Options include Disabled, Sample Neighbors Direction Only (reccomended), and Sample Neighbors Position and Direction

* Probe Volumes: Dynamic GI: If Dynamic GI is on, and Neighboring Volume Propagation is on, force probe volumes to upload to structured buffers and the atlas if they are within the rangeInFrontOfCamera or rangeBehindCamera distance.

* Probe Volume GI: neighboringVolumePropagationMode - change default to SampleNeighborsPositionAndDirection

Co-authored-by: Szymon Swistun <szymon@bonfirestudios.com>
Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Define GetDiffuseOrDefaultColor() for the Unlit BSDF to fix compilati… (#39)

* Define GetDiffuseOrDefaultColor() for the Unlit BSDF to fix compilation errors in Unlit shaders in the DynamicGIDataSample pass.

* Define DynamicGIDataSample pass for AxF and Unlit shaders. Remove now unnecessary #if UNLIT define in ShaderPassDynamicGIDataSample.

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Blow out fix for new cross volume GI propagation, plus big fix in directional only version to much closer match to pos + directino one

Dynamic GI:

Optimizations to Dynamic GI, with minimal, but some, quality loss
Rename volume setting parameter, and set default to directional only, it looks fine, and a better default
Pre-computed & sorted relevant neighbor axis per axis and precomputed sgWeights.
Found the best tradeoff for highest weighted axis / relevancy wise based on sgWeight and used 9 to help with perf.

prior merge fix

10 axis loops to catch all relevant axis

Shader variant for when inf bounce scale is set to 0 to remove the work entirely

Bump Shadergraph ScriptedImporter version to attempt to cleanly regenerate all shadergraphs after fixing bugs in dynamic GI extraction pass hlsl includes. (#42)

Co-authored-by: pastasfuture <nickb@bonfirestudios.com>

Mask Volume albedo baking (#37)

* Fixed dynamic GI albedo sampling inputs. Set up all Mask Volume data globally (camera-independent) before albedo baking.

Signed-off-by: Andrew Saraev <andrew.saraev@unity3d.com>

* Fixed Mask Volume rendering after merging.

* Fixed rendering after the merge.

* Fix Mask Volume preparation for baking with Render Graph enabled.

* Dynamic GI baking optimization. Mask Volume rendering clean-up.

Mask Volume:

Mask Volume visibility fixes (#84)

* Don't render Mask Volume hidden in scene.

* Fixed Mask Volume flickering when two volume instances are trying to render the same asset.

Mask Volumes: Remove an unnecessary editor only GC.Alloc

Dynamic GI:

Max Sim Per Frame Control per Probe Volumes Dynamic GI (#44)

* Control over max # of probe volume dynamic GI simulation's per frame

* fixed issues with static value construction

* More direct control of perf controls to dynamic GI

Less GC allocations and better cleanup

Cleanup and removed the need entirely clearing radiance cache on first frame of probe volume dynamic GI sim. compute shaders just handle that first frame case via variant instead. Removes hitches this way

Sometimes we got NaN's, so added an extra safe clear on radiance data but via compute dispatch when needed

slight bug fix to previous commit

Quality variants for propagation axis amounts

Dynamic GI:

Added basic probe volume dynamic GI stats

more dynamic GI stats

Optimize GI data layout (#45)

* Optimized the layout of the dynamic GI data.
* Added migration of existing baked data to new layout. Context menu item "Reserialize (All)" on Probe Volume Asset now also runs the migration. Had to move the migration code from Probe Volume to Probe Volume Asset for this.
Limitation: Context menu migration is skipped for assets of version < 3, since updating to v.3 requires rotation from an object in a scene.
* Apply inverse-square law to propagation axis weights to get a more correct distribution for diagonal axes.

Dynamic GI:

Dynamic GI baked emission (#51)

* Bake emission into dynamic GI neighbors and use it in the propagation.

* Use 2x2 pixel blocks per baking request to control texture lods with uv and position gradients within these blocks.

* Added the logic to control the material sampling lod for neighbor baking.

* Added support of any Probe Volume rotation while baking dynamic GI neighbors and combining dynamic and baked SH.

* Respect the Baked Emission material toggle when baking the dynamic GI neighbors.

* Added a volume component setting to scale baked emission for dynamic GI.

* Provide ddx and ddy for position and UV of a hit when baking neighbor materials.

* Set the camera position shader property to zero before baking neighbors to support position-based effects in materials.

* Clean-up.

Work in progress for dgi optimization - setup new compute buffer

Work in progress.

Populate new neighbor axis lookups buffer and switch to reading from it.

Remove old neighbour axis lookup array.

Order members in NeighborAxisLookup by type size.

adding safety cleanup to help trigger the sorted axis set after cleanup call

Dynamic GI: Bind white texture for HVSSS in dynamic GI light loop

New reflection normalization (#62)

* Use roughest cubemap sample instead of baked SH to calculate Probe Volume reflection normalization.

* Removed luminance SH baking for Reflection Probes.

Dynamic GI:

Dynamic GI sky lighting (#53)

* Sample sky lighting on the edges of Probe Volumes for dynamic GI propagation.

* Added Sky Contribution setting to Probe Dynamic GI volume component.

* Renamed "Sky Contribution" to "Sky Multiplier" to fit better with "Baked Emission Multiplier".

* Removed the Direct Contribution setting and normalization that led to all bounces being effectively multiplied by 0.5 with default settings.

* Rotate axes in ProbePropagationCombine in the way consistent with other stages.

* Added Max Albedo setting for dynamic GI to prevent infinite bounces from blowing up the lighting.

* Apply validity to emission. Cleanup.

* Changed default Max Albedo to 0.9.

* Divide dynamic GI direct lighting by Pi to fix the look.

* Experimental changes to skylight and direct hit injection before looking deeper into our SG-to-SH conversion.

* Replaced weight normalization in hit and miss passes with prenormalized amplitudes. Experimental.

* Added the inv-pi normalization to infinite bounces.

* Finish fixing up normalization of hits, misses, and sky. Additionally, add amplitude adjustment for edge and diagonal SGs

* Fixed StackLit shader graphs compilation by adding missing ComputeReflectionProbeNormalizationDirection function, expected by the LightLoop.

* WIP Dynamic GI bases: Windowed Spherical Gaussian and Ambient Dice

* Turn back on sky contribution

* More iteration

* Latest

* Cleanup dynamic gi propagation bases defines into their own header that exposes an api so that callers do not have to know the specifics of the basis. Expose all bases as options on the Probe Dynamic GI volume override

* Miss integral

* Fix hit and miss lobe creation to the more subtle, but correct implementation that got lost during the cleanup.

* Formalize the logic for injecting light from neighboring probe volumes / sky into a basis axis. Convolve the incoming irradiance with the zonal harmonic representation of the neighbor basis lobe in order to analytically evaluate the incoming irradiance over the entire lobe, rather than just the point sample. I compared this against a brute force monte carlo sampling of the SH over the neighbor axis lobe and the results are almost completely indestringuishable. The accuracy is based on how accurate the ZH fit of the neighbor axis lobe is.

* remove some dead code

* delete more dead code

* Add back a line of code I accidentally deleted in the cleanup

* Split up the basis options into a basis dropdown and a basis propagation override dropdown. Removed the not useful no diagonal basis options. Added ambient dice wrapped options to the propagation override modes

* Remove old option for SH from SG Mode: We now always use the correct SH From SG via zonal harmonic fit conversion. Changed the default propagation override to Basis Ambient Dice Wrapped Super Soft. Fixed a subtle bug with skylight propagation - use the current axis lobe direction for sampling the sky, not the neighbor direction. This makes it consistent with how hits are propagated (and cleans up a little code in the process)

Co-authored-by: pastasfuture <pastasfuture@gmail.com>

Dynamic GI:

Dynamic GI: Fixed Dynamic GI and the neighborhood debug draw when there are 0 hits in a volume (no geometry was hit).

Renormalize axes of Dynamic GI bases to support different quality (#61)

* Added frame settings for Dynamic GI quality to be able to preview it in edit mode.
* Precalculate and normalize axis weights on CPU.

New DGI validity baking and ProbeVolume interface (#66)

* Added a button to Probe Volume to bake dynamic GI without the lightmapper. Then, validity is computed with the same rays that used for hits, so it only "sees" backfaces that are one voxel away or closer.
* Simplified IProbeVolumeList by grouping all runtime data the pipeline may need to write to into ProbeVolumePipelineData and ProbeVolumePropagationPipelineData structs.
* Replaced single dataUpdated on ProbeVolume with dataVersion on ProbeVolumeAsset to detect changes of baked data for already loaded volumes and keep baked lighting buffers, dynamic lighting buffers, atlas slot and content — all up to date regardless of the order they are used.

Fix crash in il2cpp build (#67)

Co-authored-by: Paulm-Unity <paulm@unity3d.com>

Fix another crash in il2cpp build

DGI Fix Leak Mitigation (#68)

* Fixed DGI axis bit packing.
* Store neighbor validity in axis and limit propagation from an invalid probe instead of limiting propagation towards an invalid probe.
* Set default Baked Emission Multiplier, Sky Multiplier and Leak Multiplier to 1.0.

rename leak multiplier to leak mitigation for consistency

DGI Mixed Lights (#76)

* Mark mixed lights when Probe Volume is baked to filter them out of the dynamic GI light list.

* Added mixed lights data to DGI neighborhood and rendering. Using manual baking steps for now.

* Update and save mixed lights baked status when lights are processed by the pipeline in the baking mode.

* Added frame settings to pick a combination of realtime and mixed lights to use for dynamic GI.

* Force shadow rendering regardless of distances when preparing for mixed lights baking.

* Restored dynamic GI basic support for all mixed light modes after the light list merge. Now need to restore forced shadowmap rendering while mixed baking is prepared.

* Restored after merge: force shadowmap rendering while mixed baking is prepared by dynamic GI.

* Make dynamic GI mixed lighting preview show correct expected result for the current indirect scale setting.

Probe Volume, Mask Volume, Dynamic GI

Dynamic GI:

DGI per volume mixed lights (#79)

* Added a per-volume property defining if mixed lights were baked for this volume. Add all lights to the light list and skip mixed lights in shaders when required.
* Revert to the previous way of uncapping shadow distance when baking dynamic GI mixed lights.

Fix two misc DynamicGI shader warnings. (#89)

Expose key hooks and controls for automated dynamic GI baking

Exposing seperate prepareForBaking option for probe volumes for more control over baking

one more fix for better dynamic GI bakes

Probe Volume: Fix ProbeVolume buffers not being reset after disable (#95)

Fixed ProbeVolume BuffersDataVersion not being reset on disable.

Dynamic GI:

Dynamic GI: clear EngineDataIndex and simulationFrameTick. Unified clearing methods.

DGI fallback radiance baking for low end settings (#92)

* Added the way to copy prepared radiance into baked data of a Probe Volume and use it at runtime as a fallback for when DGI is disabled.
* Changed the way of updating and tracking data version for Probe Volume assets to not reupload it on every asset reimport and validation (needed to maintain propagated radiance while baking reflections and saving assets).

Toggle for Dynamic GI for low quality baked mode testing in editor

DGI smaller encoding (#96)

* Experiment with storing DGI hit emission and probe radiance with half-float precision.

* Trying RGBM32 encoding for DGI propogation.

* Moved DGI radiance encoding functions to separate from emission to quickly iterate with it without touching the baked emission data.

* Use LogLUV encoding for DGI hit and probe radiance.

* Added YCoCg encoding for DGI radiance for testing.

* Faster and more precise LogLuv radiance encoding with lower range.

* Added a radiance encoding setting to Probe Dynamic GI volume component to switch between RGB Float and LogLuv.

* Fixed hit radiance decoding for different encodings when baking mixed lighting.

* Moved the radiance encoding setting from the volume component to frame settings.

* Dynamic GI: Added HalfLUV, and R11G11B10 encoding modes

Co-authored-by: pastasfuture <pastasfuture@gmail.com>

Support DGI mixed lights baking for HalfLuv and R11G11B10 radiance encodings. (#98)

DGI initial state from baked (#99)

* A prototype of DGI radiance initialization from baked SH.

* Disable ZHWindow in ProbePropagationInitialize for now as it gives too smooth and dark radiance to axes.

* Minor fixes in propagation and a cleanup.

* Partner/crazyhunter 10.7.0 custom.1 dgi initial state from baked sh to from basis improvement (#107)

Improve ambient dice basis coefficients, improve basis normalization, and improve methods for projection from and to SH, choosing the right method for the context.

Dynamic GI: Ambient Dice to ZH: Switched over to using a raw ZH fit instead of deringed zh fit. It results in significantly lower error when compared to a ground truth monte carlo projection, which means slightly punchier + higher contrast + less washed out GI. And the ringing concern seems to not be an issue due to the way light is propagated. Across a number of test scenes no ringing is present.

Co-authored-by: Nicholas Brancaccio <pastasfuture@gmail.com>

Probe Volume:

Probe Volumes: Fix case when ShaderConfig enables them, but they have not yet been enabled in the frame settings. Previously this case would spill errors about unassigned compute parameters like _ProbeVolumeAtlasSH - this comes up when creating standalone HDRP template projects for repro demos

Probe Volume sampling quality (#102)

* Added a frame setting for Probe Volume lighting sampling quality between SHL0, SHL1 and SHL2.

* Probe Volume sampling quality cleanup.

* WIP switch Probe Volume spherical harmonics level with global keywords. L0 and L1 are not supported by Dynamic GI yet.

* Implemented missing SH L0 and L1 modes for Dynamic GI.

* Removed Probe Volume SHL0 option to save shader variants. Fixed Volumetric Lighting.

* Fixed VFX shaders after introducing different Probe Volume encodings.

* Support baking SHL2 fallback radiance from within the SHL1 mode. Cleanup.

Check if probeVolumeAtlas is null before trying to release a slot from it. The atlas could be not created yet as we are doing it later in a rendering now to match the selected SH encoding for a given frame. (#108)

Probe Volumes: Remove an unnecessary editor only GC.Alloc

Reflection Probe Normalization: Fix bad rebase merge of reflection probe normalization code

Fix recursive mutation bug in ZH Fit version of ProbePropagationInitialize projection.

Dynamic GI Propagation: Sample Neighbors: Use ZH-Fit to convert from SH to our 26-axis basis - it produces results that are a bit closer to our monte carlo naive projection ground truth

Dynamic GI: Fix Infinite Bounce calculation after we changed our basis coefficients. We were missing scaling each lobe contribution by that lobes normalized integral. Also delete some dead code that was hanging around in the dynamic GI area for too long, and fix some code erroneously included inside of an ifdef (#109)

Dynamic GI probe dirty flag (#111)

* Store a dirty flag for each light probe in a volume, update only the ones that had reasons to change since the last update.
* Added a setting to Frame Setting to be able to disable dirty flags.
* Added debug visualisation of dirty probes of all active volumes.

DGI propagation fixes (#112)

* Fixed fallback radiance baking when dirty flags are enabled.
* Fixed noticeable intensity loss for lower propagation quality due to axis weights renormalization error.
* Separate radiance comparison for LogLUV encoding that avoids many false positives in dirty flags.
* Fixed propagation data not being cleared when Frame Settings are changed via the settings window causing the pipeline to be destroyed.

critical exception fix that was firing on domain reloads & enter play mode transitions

Dynamic GI: Copy over some warning fixes to dynamic GI that were lost in the rebase shuffle
Tspk91 pushed a commit to Tspk91/QuestGraphics that referenced this pull request Jun 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants