1,139 Commits over 1,247 Days - 0.04cph!
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
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 Frustum.GetBBox() excluding last corner
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
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 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
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!!)
Unused materials using those unused shaders
Delete unused (or should be unused) shaders
* ui
* ui_texture_on_model
* visualize_cloth
* visualize_nav
* visualize_physics
* blur
* unlit (ui shader)
Deleted unused non-compute gaussian blur shader
Delete pre SM4/DX10 compatability code
Don't try to disable these shader warnings
Decals gradient uv scales off the proper axis (stops mipmapping way too soon)
Decal: Update transform when dirty too Fixes Facepunch/sbox-issues#7518
Add missing shader include
Build shaders
Gpu decals point towards forward and not left 🤦
Fix Gpu Decals normals not transforming to world space
New decal component - https://sbox.game/dev/doc/reference/components/decals/
Skin applies new decals (uses non-shared rendering path so Decals::Apply has to be inserted here)
https://files.facepunch.com/matt/1b2711b1/sbox-dev_PM9LtJUEwM.png
Build shaders
Forward+ Decals (#1606)
GPU driven tile culled decals that modify their surfaces PBR properties.
No additional draw calls for any decals.
* PBR modification: Albedo, Normal, Roughness, Metal, AO
* Works with transparent surfaces as it's not projecting based on depth
* Color Tinting + Opacity
* Angle attenuation
* Automatic sort order + override
* Future compataibility with extra data flags to add 100 more things
* Decal::Apply( ... ) API
add octohedral_encoding.fxc include
Revert "Bindless lightmaps/Lightmap Combo Removal (#1765)"
This reverts commit 1fdcdeab689851f1093853faa8d8b4d6041d63f7.
# Conflicts:
# game/addons/base/Assets/postprocess/ObjectHighlight/objecthighlight.shader_c
# game/addons/base/Assets/shaders/atmosphere_sky.shader_c
# game/addons/base/Assets/shaders/blendable.shader_c
# game/addons/base/Assets/shaders/foliage.shader_c
# game/addons/base/Assets/shaders/fur.shader_c
# game/addons/base/Assets/shaders/gizmo/gizmo_grid.shader_c
# game/addons/base/Assets/shaders/gizmo/gizmo_line.shader_c
# game/addons/base/Assets/shaders/glass.shader_c
# game/addons/base/Assets/shaders/line.shader_c
# game/addons/base/Assets/shaders/lpv_debug.shader_c
# game/addons/base/Assets/shaders/sprite.shader_c
# game/addons/base/Assets/shaders/terrain.shader_c
# game/addons/base/Assets/shaders/terrain_brush.shader_c
# game/addons/base/Assets/shaders/terrain_preview.shader_c
# game/addons/base/Assets/shaders/tiled_light_culling_cs.shader_c
# game/addons/base/Assets/shaders/ui_backdropfilter.shader_c
# game/addons/base/Assets/shaders/ui_basic.shader_c
# game/addons/base/Assets/shaders/ui_borderwrap.shader_c
# game/addons/base/Assets/shaders/ui_cssbox.shader_c
# game/addons/base/Assets/shaders/ui_cssshadow.shader_c
# game/addons/base/Assets/shaders/ui_dropshadow.shader_c
# game/addons/base/Assets/shaders/ui_filter.shader_c
# game/addons/base/Assets/shaders/ui_text.shader_c
# game/addons/base/Assets/shaders/vertex_color.shader_c
# game/addons/base/Assets/shaders/water.shader_c
# game/core/shaders/black_unlit.shader_c
# game/core/shaders/cables.shader_c
# game/core/shaders/complex.shader_c
# game/core/shaders/complex_reflections.shader_c
# game/core/shaders/cs_volumetric_fog.shader_c
# game/core/shaders/debug_wireframe_2d.shader_c
# game/core/shaders/decal.shader_c
# game/core/shaders/depth_only.shader_c
# game/core/shaders/eyeball.shader_c
# game/core/shaders/generic.shader_c
# game/core/shaders/hair.shader_c
# game/core/shaders/post_process.shader_c
# game/core/shaders/projected_decals.shader_c
# game/core/shaders/projected_sheet_decals.shader_c
# game/core/shaders/simple.shader_c
# game/core/shaders/skin.shader_c
# game/core/shaders/sky.shader_c
# game/core/shaders/spritecard.shader_c
# game/core/shaders/static_overlay.shader_c
# game/core/shaders/tools_shading_complexity.shader_c
# game/core/shaders/tools_solid.shader_c
# game/core/shaders/tools_visualize_collision_mesh.shader_c
# game/core/shaders/tools_wireframe.shader_c
# game/core/shaders/ui.shader_c
# game/core/shaders/visualize_cloth.shader_c
# game/core/shaders/visualize_nav.shader_c
# game/core/shaders/visualize_physics.shader_c
# game/core/shaders/vr_tools_shading_complexity.shader_c
Build shaders
Don't try to use shaderFloat16 either since this is only avaliable on gtx1660+
don't require everyone to have a raytracing capable gpu (:
Enable vulkan 1.2 features (scalarBlockLayout, bda, descriptor indexing, etc.) instead of using all the extensions