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

[10.x.x] Merge Hdrp/staging [Skip CI] #740

Merged
merged 1,720 commits into from Jun 6, 2020
Merged

[10.x.x] Merge Hdrp/staging [Skip CI] #740

merged 1,720 commits into from Jun 6, 2020

Conversation

sebastienlagarde
Copy link
Collaborator

@sebastienlagarde sebastienlagarde commented Jun 5, 2020

Purpose of this PR


Testing status

Manual Tests: What did you do?

  • Opened test project + Run graphic tests locally
  • Built a player
  • Checked new UI names with UX convention
  • Tested UI multi-edition + Undo/Redo + Prefab overrides + Alignment in Preset
  • C# and shader warnings (supress shader cache to see them)
  • Checked new resources path for the reloader (in developer mode, you have a button at end of resources that check the paths)
  • Other:

Automated Tests: What did you setup? (Add a screenshot or the reference image of the test please)

Yamato: (Select your branch):
https://yamato.prd.cds.internal.unity3d.com/jobs/902-Graphics

Any test projects to go with this to help reviewers?


Comments to reviewers

Notes for the reviewers you have assigned.

sebastienlagarde and others added 30 commits April 8, 2020 19:54
#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>
* 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.
* 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>
* 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>
* 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>
* 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.
* small adjust to taa antiflicker

* Changelog
* 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

* Update CHANGELOG.md

* Cleaned up code

* use multi_compile

* Added _

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
* Split 902 scene into 5 scenes + SG optimizations

* Deleting old image for splited scene
* Fixed a number of leak in HDRP

* Update changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
…ph 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

* Avoid null reference

* Avoid null reference - try 2

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
* 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.
…n the scene (#4)

* Set appropriate render datas before rendering cameras

* changelog

* update doc

* comment update

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
… 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>
…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>
…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
* Only re-create the volume profile editor when the asset is changed

* Updated changelog

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
sebastienlagarde and others added 10 commits June 2, 2020 19:38
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
* 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

* Added the API to override camera rendering

* Updated changelog

* Updated changelog

* Fixed compilation issue

* Added custom pass API test scene

* Begin to add custom pass override test

* Factorized protection function

* Update custom pass test scene

* Fixed custom pass API doc

* Begin to add camera override tests

* Fixed camera override in scene view

* Finished RenderFrom API fucntions

* Fixed XR disable class

* Added isPersistant bool in HDCamera and allocateHistoryBuffers param in Update

* Fix MSAA for before pre refraction and added errors for fullscreen MSAA operations

* Finished to fix the RenderFrom* functions

* Moved obsolete execute function into the new one

* Update reference images

* Added all the API doc

* Updated changelog

* revert mats

* Updated custom clear pass to use the new API

* Fixed depth buffer random read/write error

* Disable custom pass blur test part

* Revert camera pixel rect changes

* Rename multi-pass to single pass

* Disable custom pass test on vulkan and XR

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>
* Added support for transparency in Unlit.

* Updated Changelog.

* Update capture for 5007_PathTracing Unlit

Co-authored-by: Remi Chapelain <remi.chapelain@unity3d.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
* Fixes for the compositor test

* Enable the compoositor test in build settings

* Avoid gc alloc, hide internal components from vomume menu

* Vulkan and DX12 screens, adjust compositor UI refresh
* - Fixed a vulkan and metal warning in the SSGI compute shader.

* - Fixed an exception due to the color pyramid not allocated when SSGI is enabled.
- Fixed an issue with the first depth history mip was incorrectly copied.
@sebastienlagarde sebastienlagarde changed the title [10.x.x] Merge Hdrp/staging [10.x.x] Merge Hdrp/staging [Skip CI] Jun 5, 2020
sebastienlagarde and others added 14 commits June 6, 2020 01:01
* Removed direct use of BSDFData in path tracing pass.

* Updated changelog.

* Fixed float3 typo...
* Pre warm rt handle system and initialize to screen width/height

* changelog

* not all was pushed

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>
* WIP for enabling valid graphics tests with Render Graph.

Fixed a lot of gcalloc.

* Fixed more GCAlloc and added an option for a test to not be run if render graph is enabled.

* First batch of disabled tests.

* Fixed decal rendering

* Implemented ColorGrading and Uber Post (fixes a lot of small diff due to Color Grading not being 100% neutral)

* Revert "First batch of disabled tests."

This reverts commit 505924b.

* Temp "texture not bound" error fix until bloom is implemented.

* Fixed an error when using a stale invalid renderer list handle.

Reduced error message spam when encountering an execution error.

* Add some debug info to compiled passes and removed wrong refCount++ on passes.

* Added possibility to disallow pass pruning

Fixed a number of pass pruning issues.

* Small fixes

* temporarily removed pruning of passes without product

* Fixed HDRP asset for test 5009

* Implement alpha copy for post processes

* Small render graph error fix for motion vector pass.

* Disabled for render graph tests that are currently broken.

* Updated yamato with new render graph configurations

* Fixed lens distortion

* Reenabled 4021

* Revert "Reenabled 4021"

This reverts commit 76a7c00.

* Revert "Updated yamato with new render graph configurations"

This reverts commit 7b8acc0.

* Revert "Disabled for render graph tests that are currently broken."

This reverts commit 84467f6.

* Reverted HDRP test framework files (will go to another PR)

* Revert "Fixed HDRP asset for test 5009"

This reverts commit 95952b0.

Co-authored-by: Sebastien Lagarde <sebastien@unity3d.com>
* Adding a minimal lit used for RTGI in peformance mode
Dispatch binned rays in 1D instead of 2D
Fix an issue with the half resolution Mode for RTGI
Only read the geometric attributes that are required using the share pass info and shader graph defines
Fix an issue with the color intensity of emissive for performance rtgi

* Correct bug with shadow history rejection

* reduce the exponential accumulation value a bit

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
* 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

* start of procedural mask

* 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

* Some basic version of procedural working

* need to switch branch

* Exposure target and threshold.

* fix merge mess

* Fixes

Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
@sebastienlagarde
Copy link
Collaborator Author

Yamato is green, merging

@sebastienlagarde sebastienlagarde merged commit 39b1ef6 into master Jun 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet