1,744 Commits over 1,247 Days - 0.06cph!
g_pApplication can be nullptr very early on
ci: upload symbols before build shaders to diagnose crash
Check Managed::SandboxEngine::IsReady() before spewing log
ShaderCompiler: Output failures at the end, cleanup garbage before exiting
Console apps don't buffer native log messages
Remove random include from envmap_filtering_cs
Reapply "Store external descriptor set name hashes, otherwise these aren't being refed properly which could very well be the Intel crash"
ExternalDescriptorSet needs to be described across VS/PS stages, put it in common.fxc (there are some shaders that will/can never use it like unlit)
Fixup descriptor name hash for outdated ugc shaders
Build shaders
# Conflicts:
# game/addons/base/Assets/shaders/terrain/cs_terrain_sculpt.shader_c
Set Hammer window icon from managed since it's technically a managed window
Handle right click on title bar
Don't PreJIT in editor, it adds a couple of seconds to startup time
Unused IAssetSystem::OverrideAssetsWithVPK
Stick a cache on FixupSearchPathName as it's a hot path whilst compiling due to CResourceCompilerPathScope
https://files.facepunch.com/matt/1b2011b1/Profiler_WExqSdLF2F.png
Let's try all "CONTENT" paths as "GAME" paths and remove "CONTENT" search paths, maybe everything will still work
And then we can remove this extra PathScope for "CONTENT"
Revert "Store external descriptor set name hashes, otherwise these aren't being refed properly which could very well be the Intel crash"
This reverts commit bc198bc4c991a59f6839367a0aa06b3de1b6ef19.
Force rebuild shaders
Ignore these invalid descriptor sets
Fuck it - I don't see why this crashes ci
Only print if engine ready
Force build shaders, some shaders have mismatched combos
Console apps print native engine messages instantly
Remove remaining material-owned descriptor set code from rendersystemvulkan
Store external descriptor set name hashes, otherwise these aren't being refed properly which could very well be the Intel crash
Build shaders
Resource finalizer queues dispose and unregisters on main thread. Assert ResourceLibrary.Unregister as main thread only
Remove unused materialsystem-owned static descriptor sets
This frees up slots 1 & 2, whilst external descriptor sets remain starting on 3
Let's start trying to shut the game down properly so we can flush stuff like shader cache and Api activity / stats
ShaderCompiler returns failure so the build server can fail when we push shit shader changes
Don't log engine console output upside down
Fix player/overview not fetching the right steamid avatar
Cube texture creates array slice image views allowing each face to be treated as a framebuffer
Visualize depth uses screen space coords
[stash] Foundations for VK_KHR_multiview and cubemap render targets
Scene system listeners I'll need later
New shadow mapper: spot and point lights so far
* Move all logic to c# for full ownership, delete old native code
* Bindless shadow map textures, delete old shadow atlas
* Spot Lights
* Point Lights: cube textures with hw pcf poisson sampling
* Add user setting r.shadows.quality (0-3) low->high for better filtering
* Scale shadow map resolution based off of screen size the light occupies
* Debug system
Make ShadowViewProj matrix with zero origin for light -> shadow mapping in shader
C# directional light CSM shadow maps, different to previous approach
Fix Frustum.GetBBox() excluding last corner
[fixup] Multiview
Make ShadowViewProj matrix with zero origin for light -> shadow mapping in shader
Fix Frustum.GetBBox() excluding last corner
C# directional light CSM shadow maps, different to previous approach
Fatal error on all VK_ERROR_OUT_OF_DEVICE_MEMORY results, don't invoke ErrorReports
Count unshadowed lights properly
Fix dedicated server crash when creating legacy particle systems
Cube texture creates array slice image views allowing each face to be treated as a framebuffer
Visualize depth uses screen space coords
[stash] Foundations for VK_KHR_multiview and cubemap render targets
Scene system listeners I'll need later
New shadow mapper: spot and point lights so far
* Move all logic to c# for full ownership, delete old native code
* Bindless shadow map textures, delete old shadow atlas
* Spot Lights
* Point Lights: cube textures with hw pcf poisson sampling
* Add user setting r.shadows.quality (0-3) low->high for better filtering
* Scale shadow map resolution based off of screen size the light occupies
* Debug system
Revert "What if we explicitly r2r sbox.exe only"
This reverts commit 4e8078b86f52d37d663f5fe4da8dc1dc33a862f1.
Clean up old dead code
Collect and pass around SceneLightObjects instead of the LightDesc ptr
Remove CSceneView::m_bIsThirdPerson
Add "Cast Shadows" property to MeshComponent
Restore adding per frame stats from updating upstream code
Whitelist System.Private.CoreLib/System.ParamArrayAttribute
AccessControl touches method parameter custom attributes types
Whitelist System.Diagnostics.CodeAnalysis.*
Whitelist CollectionsMarshal.AsSpan<T> and CollectionsMarshal.SetCount<T> ( closes Facepunch/sbox-issues#6905 )
Fix ClothingList regression
Unused CSceneSystem::m_nTransformTextureRowCount
ParentPackage installs to asset system so we can use prefabs, gameresources, etc.
Show parent package in asset browser
Fix bindless lightmap crashes why are we never checking nullptrs ( closes Facepunch/sbox-issues#7705 )
Fix TrySetLanguageFromBrowser inverse logic causing errors
new about page design
some meta too
Exceptions breadcrumb clickable
Fixes Facepunch/sbox-issues#7586
Fix DOF erroring on non-msaa
vfx_vulkan: SV_ViewID is a built in semantic
Update CSceneSystem::SubmitDisplayListsForView removing multi-submit VR junk
vulkan: unfuck image views for cube textures
Shaders compile for shader model 6.1
Scene system listeners I'll need later
Clean up old dead code
Collect and pass around SceneLightObjects instead of the LightDesc ptr
Managed shadow mapper, entry point from lightbinner, creates and renders shadow frustums
Set gpu light data from c#, pass shadowmap bindless texture id, use it from lighting shaders
Visualize depth uses screen space coords
vfx_vulkan: SV_ViewID is a built in semantic
fucking with VK_KHR_multiview and cubemap render targets
Don't return a new list each light gather, reuse the already allocated memory
Unused SceneView methods
Remove ISceneView::AddSceneObjectToRenderList
ISceneView::GetWorldToRender & related return ISceneWorld not CSceneWorld
Add CommandList.Set( StringToken, Texture )
Dispose of AssetPreviews after we've rendered their thumbnail. PreviewScene.Dispose destroys it's Scene
Restore accidentally deleted CreateTexture2D macros.. for now
restore ui shader which was blitting text
Delete some more shit resourcemanifests
Fix bloom blur using wrong sampler causing bleeding over edges
Base shaders: stop using macros for texture creation + sampling, use standard HLSL syntax
Core shaders: stop using macros for texture creation + sampling
Build shaders
yuv_resolve.shader should use explicit register positions (it's sampler was never being properly bound!!)
Fix right navbar overflowing Steam login and general bad alignment whilst logged in
Add get it now button to front page
Put unlock page in a container