1,460 Commits over 1,157 Days - 0.05cph!
Thank god nobody was using these
Delete unused shaders/includes
vfx preprocessor auto includes system.fxc
Raw dog bindless API, we can build something higher level on top of this
Open project when created
Adding a new project sets it to the top
Don't copy .gitignore if it exists - fixes Facepunch/sbox-issues#4634
Opening a .sbproj adds to project list
TypeSerializedProperty.TryGetAsContainer should not propogate NoteChanged, commented on this behaviour - Fixes Facepunch/sbox-issues#5174
Accumulate escape presses across all input contexts - Fixes Facepunch/sbox-issues#5314
AMD driver check: 2.0.279 is fine for Polaris/Vega
Skip driver version check if running under proton
Revert "HotloadManager disposes Hotload instance, was stopping assembly unloading"
This reverts commit 1d83455903d1b9995c5680c933c49738ce22f149.
Revert "LoadContext.Unload also unloads all it's IsolatedAssemblyContext"
This reverts commit 672aabaadd48f649bf3c38068d4efe2e2c55780e.
HotloadManager disposes Hotload instance, was stopping assembly unloading
Warn for older AMD GPU drivers too, 2.0.283 has a driver crash when child processes are opened
LoadContext.Unload also unloads all it's IsolatedAssemblyContext
Use a fresh PackageLoader when loading new games - fixes Facepunch/sbox-issues#5219
CVfxStackMachineBuilder::FindConstant case insensitive
This should be engine internal, expose with EditorUtility
Remove debug line
Regenerate project solution when compiler settings are changed - fixes Facepunch/sbox-issues#4801
Update spirv-reflect
Fix spirv-reflect bug with output_vertices being stomped
Validate geometry shaders [maxvertexcount] to not exceed limits - fixes Facepunch/sbox-issues#4738
Input will tick before layout is computed on a newly created panel, so check null. Fixes Facepunch/sbox-issues#5268
Remove dupe convars_save
Api.GetAsync throws if status code not OK
Add IEnumerable<Type>.GetCommonBaseType()
CanEdit.CreateEditorFor( Array ) uses the most common base type. Fixes Facepunch/sbox-issues#5233
About to show!
FindRenderStateInfo case insensitive
Support pascal case filter enums
Set InputState.Ignore if game isn't being played
CMaterialSystem2::GetVfxPlatformType default to SPIRV
Remove HLSL/GLSL compatibility funcs
Delete unused Gather4Red macros
Use normal precise keyword
Piss off Dx9Sampler
What the fuck is SV_ScreenPosition, delete pre SM 4.0 semantics
Unused tessellation macros
vr_cubemap_fog include common_samplers
Fuck these Front/BackFace macros
Useless redefines
vfx_vulkan: actually fail if any of this validation fails, add another validation check for binding ids
vfx_vulkan: improve error feedback
Remove domain/hull shaders (they weren't working, Valve already deleted them, compute better)
vfx_vulkan: never disable optimizations, this was fucking spirv-reflect and the compile time difference is minuscule
Don't have a different fastMode shader compile, it doesn't do anything now
Matching register offset check in AddSamplerStateVariableToCommandBuffer, same as SetSamplerStateValueFromVariable (prevent oob write)
Bind some default shader resources to prevent crashes, this stuff shouldn't be hit normally so warn/assert it's likely solved by a shader recompile otherwise yell at me
Whitelist common_samplers.fxc (hate this)
PresentYUV420Texture sets its sampler state (this whole func is manual?), fix random crash from using an unbound sampler
Revert verifying bound samplers & images until I fix these bad bindings
Debug string for CTextureManagerVulkan::GetTextureResource
Whitelist some more common exception types
Vulkan: Verify bound samplers and images
VFX_MAX_SAMPLERS is 16 (matches VFX_MAX_SAMPLERS_PER_STAGE and RENDERSYSTEM_MAX_SAMPLERS ) - there is no reason a shader should have more samplers than this
These sanity checks aren't sane, textures aren't samplerstates. A proper sanity check already exists in CVfxVulkan::CompileSource
Use more common samplers for volume fog, vr lighting. Add g_sBilinearClamp & g_sPointClamp common samplers
Fix error texture spam by making sure "EnvironmentMap" is always valid
Dark mode non editor window
Vulkan: Aftermath is opt-in with -aftermath, costly callstack info with -aftermath_full
Recompile sprite shader
Warn Nvidia driver 551.23 for known issues
Stop compiling rendersystemdx11, remove -dx11 switch
Clean up IRenderHardwareConfig no need for all this DX8/360 crap, remove dxsupport.cfg override
vfxcompile: stop compiling dxbc, remove vfx_dx11
Remove "Compile Optimized Shaders", spirv-opt always runs
Vulkan: Show error message box and bail on VK_ERROR_DEVICE_LOST
Vulkan: Enable Nvidia Aftermath for GPU crashdumps with VK_NV_device_diagnostic_checkpoints
Vulkan: Add VK_EXT_device_fault support and dump info after device loss
Vulkan: out-of-date or suboptimal swapchains are verbose logging
Vulkan: Assert for absurd swapchain width/height that are happening during shutdown
Vulkan: Log layers that are older than specified API version, these are the most likely cause of GPU device crashes
Vulkan: Show error message box and bail on VK_ERROR_DEVICE_LOST
Vulkan: Enable Nvidia Aftermath for GPU crashdumps with VK_NV_device_diagnostic_checkpoints
Vulkan: Add VK_EXT_device_fault support and dump info after device loss
Vulkan: out-of-date or suboptimal swapchains are verbose logging
Vulkan: Assert for absurd swapchain width/height that are happening during shutdown
Vulkan: Log layers that are older than specified API version, these are the most likely cause of GPU device crashes
Fix asset references trying to resolve before those references were added to the assetsystem, which would cause failed uploads
No amount of reverting was fixing this, so I think this has existed for
a long time...
Fixes
sbox-issues/issues/4914
sbox-issues/issues/5013
Add unrecognised reference paths to asset inspector
Remove legacy path from CMapAssetType::CalculateDependencies
Terrain default cast shadows off
Heightmap import support mac byte order
Remake heightmap/controlmap texture when importing at a different size
Fix enums on ReflectionSerializedObject properties
Fix showing project launch errors
Add mips to texture editor
Fix GPU crash when ReadTexturePixels is provided a srcRect that exceeds texture size
Terrain: Add splatting with layers, add heightmap imports, switch to editortool subtools
SceneMapLoader: don't cast dynamic shadows for map lights marked as baked shadows only
Add VK_EXT_full_screen_exclusive support for enabling but also explicitly disabling exclusive fullscreen (this should stop nvidia forcing exclusive fullscreen on borderless windows)
Model AssetPreview: for viewmodels show bone merged arms and use viewmodel camera
Don't show install for incompatible cloud package types
Forgot the interop somehow
Add Graphics.CopyTexture for GPU texture copying, format and size must be the same
Sandbox.Generator: don't run some unneeded codegen in intellisense.. ISourceGenerator is obsolete and slow and we should figure out how to make this an IIncrementalGenerator
Pixmap.UpdateFromPixels: Support RGBA8888 imageformat
More informative vulkan init failed message
Lightbinner handle exceeding max envmaps
In tools don't demote exclusive fullscreen to cooperative fullscreen, these behave the same way on Nvidia's Vulkan drivers and a game window in a Qt widget acting like it's exclusive fullscreen will make your screen black
When saving a GameResource - reregister it with ResourceLibrary. When Scene/PrefabFile save they create a new GameResource, so the old one needs to be stomped out.
Make game resources compile again when saved