usermattcancel
reposboxcancel

1,293 Commits over 943 Days - 0.06cph!

9 Months Ago
▍▊▅▄ ▄▍▉█▆█.▌▋▉▋▅▇▇▆▇▌▆█▉▋▌▇▇▍▇▉▆▍▆<▉> ▋██ ▉▊▍▉▋▋▍▌▄▅█▆▊.▆▉▋▋<█> █▅▇▆▊▊▉ ▄▊ ▆▌█▍▍▋▍.▌▉▇▇█▋▉▌▋▅▌▋▊▇<▋> ▆▉▅ ▆▇▄▆▄▇▍▊▅▋▄ ▊▅ ▉▉▋█▍█▇▍▋ ▉▉█▉▌ ▌▇▇█▉▌▌▊▇▌ ▉▉▍█▌▉▌▌▅▍ ▆▆▍▌▋▌▆▆█ ▌▉▌, ▉▉▅▆ ▋▆█▋▇▍ ▅▌▍██▍▄▅▊▊▆▉▉.▉██▋ ▋▊▉▅ ▉▇▊ ▄▇▆▊▌▉ ██▉▇ ▄▅ ▍▇█▆▆'▆ ▅▌▊▍▄▉▌ ▇▉▋ ▅▌▋▊█▆▇▄ ▊█▇▅ ▆▌▍▆
9 Months Ago
ComputeShader.Dispatch: Remark about thread group size being automatic CRenderThreadDx11::OnReadBuffer: staging buffer needs to be the same size as the buffer to read, otherwise partial or offset reads silently fail
9 Months Ago
SceneModel.SetMaterialGroup -> SceneObject.SetMaterialGroup - dunno how I'd fucked this
9 Months Ago
ILHotload runs hotloaded event
9 Months Ago
foliage shader: transmissive features (transmissive in general seems fucked though, one for sam though)
9 Months Ago
If -project was already added but inactive, make it active Stop opening cloud menu for -project launched games
9 Months Ago
ComputeShader use Material.FromShader, support using resource paths e.g new ComputeShader( "shaders/cs_compress.shader" ); Don't call Environment.Exit on ProcessExit, but make sure we still flush managed SentrySdk just before TerminateProcess
9 Months Ago
Add ComputeBuffer<T> class for creating, reading and writing GPU buffers for usage with ComputeShader Structured buffers, byte address buffers and append structured buffers are all supported. https://wiki.facepunch.com/sbox/Compute_Shaders
9 Months Ago
Add synchronous IRenderDevice::ReadBuffer and asynchronous IRenderContext::ReadBuffer Add ComputeBuffer class for creating, reading and writing GPU buffers for usage with ComputeShader Can be passed to RenderAttributes.Set( string, ComputeBuffer ) Read data from GPU with ComputeBuffer.GetData<T>( Span<T>, int, int ) Add ComputeBuffer.SetData( Span<T> ) and ComputeBuffer.CopyStructureCount( ComputeBuffer, ComputeBuffer, int ) Can set/copy data outside a graphics block Flush this shit when using ComputeBuffer in a sync way, I'll do it a different way for an async/callback API API makes more sense to be ComputeBuffer<T> Drop access type to keep things simple, add List<T> SetData variants, add elementOffset arguments, additional error checking AppendConsume buffers still need the structured buffer flag too ComputeBuffer<T>.CopyStructureCount<U>( ... ) YUCKY generics Don't make ByteAddress buffers with unordered access Docs, GetData alternative with no count, checks for disposed buffers
10 Months Ago
ComputeBuffer<T>.CopyStructureCount<U>( ... ) YUCKY generics Don't make ByteAddress buffers with unordered access
10 Months Ago
Drop access type to keep things simple, add List<T> SetData variants, add elementOffset arguments, additional error checking AppendConsume buffers still need the structured buffer flag too
10 Months Ago
Add synchronous IRenderDevice::ReadBuffer and asynchronous IRenderContext::ReadBuffer Add ComputeBuffer class for creating, reading and writing GPU buffers for usage with ComputeShader Can be passed to RenderAttributes.Set( string, ComputeBuffer ) Read data from GPU with ComputeBuffer.GetData<T>( Span<T>, int, int ) Add ComputeBuffer.SetData( Span<T> ) and ComputeBuffer.CopyStructureCount( ComputeBuffer, ComputeBuffer, int ) Can set/copy data outside a graphics block Flush this shit when using ComputeBuffer in a sync way, I'll do it a different way for an async/callback API API makes more sense to be ComputeBuffer<T>
10 Months Ago
Ignore some mega early IME WM events until the engine is initialized, should fix Proton crashing at startup
10 Months Ago
Add synchronous IRenderDevice::ReadBuffer and asynchronous IRenderContext::ReadBuffer Add ComputeBuffer class for creating, reading and writing GPU buffers for usage with ComputeShader Can be passed to RenderAttributes.Set( string, ComputeBuffer ) Read data from GPU with ComputeBuffer.GetData<T>( Span<T>, int, int ) Add ComputeBuffer.SetData( Span<T> ) and ComputeBuffer.CopyStructureCount( ComputeBuffer, ComputeBuffer, int ) Can set/copy data outside a graphics block
10 Months Ago
Handle exceptions when using -project
10 Months Ago
Native Plat_ExitProcess calls managed Environment.Exit, this way AppDomain.ProcessExit events will always execute such as to flush Sentry events Move bootstrap error dialogs to managed, display exception and make sure it lands in Sentry
10 Months Ago
Remove default pitch * 1.5f from Entity.BuildInput, just something we kept moving around from Source native
10 Months Ago
Make Package.IsMounted() work clientside on listen server hosts
10 Months Ago
Update all entities network hash after a server package has been installed - sboxgame/issues#3635 Adding a new server package would correctly change the DynamicAssemblyHash on both server and client, however all current entities would still have the old DynamicAssemblyHash. This would mean the clients would receive no [Net] updates for this entity. So to fix this we explicitly reset all entities network hash with Entity.UpdateAllNetworkHash() on OnServerPackageInstalled. Reinitializing the network tables would've also worked but would be wasteful since we know all our exisiting entities have not been changed unlike if the DynamicAssemblyHash were changed from hotload
10 Months Ago
Make !activator work for target entity on outputs Remove unimplemented procedural entities !caller, !player, !game_mode from combo box Entity IO: !game targets the GameManager so you can have [Input]s on it
10 Months Ago
Make sure log files use process path since CurrentDirectory is too early from getting set here
10 Months Ago
Add synchronous IRenderDevice::ReadBuffer and asynchronous IRenderContext::ReadBuffer Add ComputeBuffer class for creating, reading and writing GPU buffers for usage with ComputeShader Can be passed to RenderAttributes.Set( string, ComputeBuffer ) Read data from GPU with ComputeBuffer.GetData<T>( Span<T>, int, int ) Add ComputeBuffer.SetData( Span<T> ) and ComputeBuffer.CopyStructureCount( ComputeBuffer, ComputeBuffer, int )
10 Months Ago
All the stuff I just missed with .addon -> .sbproj, can still add inactive .addon and have it rename, don't do -project content projects as if they're games
10 Months Ago
.addon becomes .sbproj (auto renames), editor creates file association, rework -project make it simpler https://files.facepunch.com/matt/1b1911b1/explorer_Os0Tf2Y8l7.png
10 Months Ago
.addon becomes .sbproj (auto renames), editor creates file association, rework -project make it simpler https://files.facepunch.com/matt/1b1911b1/explorer_Os0Tf2Y8l7.png
10 Months Ago
Add synchronous IRenderDevice::ReadBuffer and asynchronous IRenderContext::ReadBuffer Add ComputeBuffer class for creating, reading and writing GPU buffers for usage with ComputeShader Can be passed to RenderAttributes.Set( string, ComputeBuffer ) Read data from GPU with ComputeBuffer.GetData<T>( Span<T>, int, int )
10 Months Ago
Fix crash when dragging cloud models quickly in/out of MapView
10 Months Ago
Don't spam Draw: No Material Mode? from RenderTools::Draw, it's valid for there to be no valid mode when you're under tool vis modes
10 Months Ago
Trace.RunAll() - return empty array instead of null for no results Fix copying text throwing exception
10 Months Ago
Fix tests
10 Months Ago
.addon files become .sboxproj files Editor .sboxproj file association launches with -tools -project filepath https://files.facepunch.com/matt/1b1811b1/NVIDIA_Share_yyKyjxy8Lp.mp4 Make -project simpler, deactivate all other projects early and go to the game menu
10 Months Ago
Don't release jump list object unless it's succeeded (should fix crashes on Proton and maybe weird Windows setups), release another thing too
10 Months Ago
Shadergraph: only compile preview shader for the current render API
10 Months Ago
ShaderGraph: Use .source2/temp folder that is actually mounted instead of absolute path shaders, these go properly through the ShaderTypeManager and get the right offsets then Can compile Vulkan shaders on shadergraph / shaderhook now without crashes on DX11 🤯
10 Months Ago
Remove very last DX9 references from source code 🫡 rubikon: Fix double free crash in CMultiworldSoftbodyStepper
10 Months Ago
Update Qt with backported QTextEngine fixes for shitty strings TextEdit.AppendHtml remove invalid control characters, Qt has an open report on crashes caused by these.. and they're invalid anyway
10 Months Ago
Fix crash with procedural materials
10 Months Ago
Update materialsystem2 with latest Valve code Backporting latest Valve code to make it easier to integrate raytracing & bindless Removes render passes that never did anything, lots of refactoring materialsystem2 API becomes much simpler to draw stuff too: ```diff - IMaterialMode *pMode = pMaterial->GetMode( "Default" ); - if ( pMode != NULL ) // NULL if unsupported mode - { - MaterialRenderablePass_t renderablePassArray[ MATERIAL_RENDERABLE_PASS_MAX ]; - int nNumPasses = pMode->ComputeRenderablePassesForContext( NULL, pRenderContext, renderablePassArray ); - for ( int i = 0; i < nNumPasses; i++ ) - { - g_pMaterialSystem2->SetRenderStateForRenderablePass( NULL, pRenderContext, g_hLayout, renderablePassArray[i] ); - pRenderContext->DrawIndexed( RENDER_PRIM_TRIANGLES, 0, 6 ); - } - } + IMaterialMode *pMode = pMaterial->GetMode( "Default" ); + if ( g_pMaterialSystem2->SetRenderStateForMode( pMode, NULL, pRenderContext, g_hLayout ) ) + { + pRenderContext->DrawIndexed( RENDER_PRIM_TRIANGLES, 0, 6 ); + } ```
10 Months Ago
AssertDbg instead of Assert in MAT_OP_BIND paths, these are meant to be fast paths Lazy init SceneObject.Attributes since this was allocating CSceneObject::m_pExtraData for all sceneobjects, observable ~0.3ms improvement in generating draw lists
10 Months Ago
vfxc: add Radeon GPU Analysis, can target many arch Update fossilize rendersystemvulkan: new pipeline manager w/ VK_EXT_graphics_pipeline_library
10 Months Ago
Fix texture filtering feature on user shaders, recompile blendable and glass
10 Months Ago
▉▋▍'▆ ▍█▌▋ ▆▄▆▉▍▆▆ ▅▉█▅▍▅▆ ▉▉ ▇▄▉▆▉ ▌▋▆
10 Months Ago
▊▋▄▊▆▉▆▆▅▌ ▊▆▆▇ ▇▉▇▌ ▊▇▌▄▊▊▊ ▄▍▋ ▌▅█▋▊█ ▄▍ ▊▊▉▉, ▍▋▇ ▍▇▅▅ ▇▍▆▍▍▄▄ ▇▉▅█▍▅ ▊▉█ ▍▇ ▍▊▋▆ ▇▌▋
10 Months Ago
Latest shaders with Vulkan RenderState fixes
10 Months Ago
Add -allowlocalhttp command line switch, only works on server and allows you to do http requests to any port on localhost or private IP addresses. This is only really gonna be useful for dedicated servers to access their apis
10 Months Ago
▆▋▊█.▌▇▅▊▊█▄▍▌ ▅▌█'▊ ▅▇█▉▆ ▆▍▇█▌▄▇ ▋▄▇█ ▇█▆▆▊▍▆ ▋▅ ▋▇█▆▆▍▊▄ ▄▊ ▆▋▇▄▉▋▅ ██▅▆▌█▊██
10 Months Ago
vfxc: can output preprocessed hlsl for vulkan Use two stage macro expansion for RenderState and SrgbWrite so token pasting combos (and other defines) works as intended on DXC Fixes RenderState being evaluated incorrectly on Vulkan and doing nothing or worst case crashing `RenderState( CullMode, D_MYCOMBO );` was getting evaluated differently as FXC had some non standard macro expansion rules: FXC: `string g_renderState_CullMode < string arg1 = "1" ; > = "" ; ; ` DXC: `string g_renderState_CullMode < string arg1 = "D_MYCOMBO"; > = "" ;;` DXC's -flegacy-macro-expansion wasn't doing anything either
10 Months Ago
Fix Rider integration for toolbox installs - thanks faint
10 Months Ago
Latest compiled shaders - fix occasional blinking lights & fix lights on Vulkan
10 Months Ago
vfx_vulkan: do not use -fvk-invert-y on geometry shaders, only needed on vertex