usermattcancel
reposboxcancel

1,288 Commits over 913 Days - 0.06cph!

1 Year Ago
Fix WebPanelTest throwing NRE in debugger do reflection on the built-in shaders so we bind the samplers/textures on them properly Delete IVfx::GetAllShaderVariables, only used for dynamic shader compiles and saves me implementing it for Vulkan for no reason .editorconfig changes to match Valve coding style better Make dxc include handler work with sub dirs GetShaderFullPath: remove shader replacements and legacy prefix substitutes Fix HLSL lexer rules interpreting some vars as float literals and failing lexing Assert if spirv-reflect fails Update spirv-reflect as it was failing with some issues from 2019 :x directional_ao.shader: fix ambiguous reference to 'i' Compiled base shaders
1 Year Ago
Iterate map entities, find their matching type and call static method DrawGizmo within a Gizmo.Scope
1 Year Ago
Hammer gizmos using the ISceneView now
1 Year Ago
Compiled spritecard.shader
1 Year Ago
Fix debug param name being uninitialized
1 Year Ago
Quick slap up of our gizmos in Hammer mapview sceneworlds https://files.facepunch.com/matt/1b1411b1/sbox-dev_buClDYa88x.png
1 Year Ago
Update vfxcompile, less mpi shit, simpler parallel processing loop Up MAX_LOGGING_STATE_COUNT from 128 -> 256, this is per thread and vfxcompile will have a main thread + 128 worker threads
1 Year Ago
readme: troubleshooting long paths shaders workflow: always upload artifacts even on fail shader workflow: can force build all
1 Year Ago
Update Vulkan SDK + Volk Stub old vrad3-gpu, incompatible from using beta vk headers rendersystemvulkan: fix raytracing being required, remove VK_EXT_debug_report for VK_EXT_debug_utils vfx_vulkan HLSL compiler using dxc and spirv-tools; rendersystem_vulkan support for how dxc does $Globals / register offsets Sam's shader changes, most of this should just go to master now vfx_vulkan: compatability with shadergraph vfxcompile: display shader compile time in ms [hack] don't deal with instancing on SboxVertex for now, need some additional code around input layouts vfx_vulkan sets correct offsets & more reflection info for compute shaders, refactor rendersystemvulkan to use valve's new helpers, bump max samplers to 64, loads of other fixes spir-v remapper (size reduction) Use Vulkan 1.1 if avaliable to resolve VK_ERROR_INCOMPATIBLE_DRIVER, use Vulkan 1.2 when raytracing is avaliable Fix invalid command buffer in CRenderContextVulkan::ApplyDelayedChanges() [temp] don't mount any asset.party shaders vr_lighting.fxc: need explicit sampler lod as used from vs better logging & timeout for when the swapchain hangs, which it shouldn't be, but lets you know wtf is going on Update vfxcompile, less mpi shit, simpler parallel processing loop Reuse DXC instances per compiler (I think having 1 per thread would be more optimal), clean up the DxcIncludeHandler Update DXC, some memory allocator fixes IMalloc wrapper for our memory alloc to pass to DXC Latest compiled shaders
1 Year Ago
Add -renderdoc cli option for early renderdoc hooking Don't needlessly set g_TransformBuffer or g_TiledLightBuffer on Submit, already set on init ReadVfxFile: don't open file twice to skip bom, don't skip non utf-8 boms cause that's not gonna work
1 Year Ago
vfxcompile can specify -threads shaders workflow uploads symbols
1 Year Ago
▇▄▊▆▋▆ █▆▅▉ ▅▆▉▆ ▉▊▇█▅▇
1 Year Ago
▌▋▍▄▆▇▍▋▍▆ ▇█▌▋ ▌▄▍'▌ ▄▍▋▄▌ ▌▇██ `▆▅▍▌██▄.` ▆▍▄▅ ▋▅▍█▊▄▌▋▄▌▆▅▅, ▄▆▄▍▋ ▌▅▋▌ ▍▋▉▄▇▍▄▋▉▍▄▌ ▄▍ ▍▆█▋▄▉▇.* ▉▍ ▍▋▌▅▇▅ █▄▌█▍▅▆▌▉ ▋▌▋▆▇ ▆ ▅▇▍▇ ▄▊▆▅ ▅▅█ ▇▋ ▊▇█▋▋▊▄▌ ▅█▅▋'▋ █▍▄▅▌ ▅▆▊▋█▌ ▌▆█▅▍▋▆.▉▌█▆ ▆▆ ▅▄▊ ▆█▄▌▌▉▇▆▇▅▄▇▆▄ ▅▌▌▉▌█▅▍▍. █▅▉▍ ▇▆ ▋▋▄ ▌█▄▆▋▉▄▇ ▍▆▌ ▌▊ ▌▆▋▇▇ ▇▋▆ ▉█▆█▊, ▋ ▆▊▍▄▉▇▄▉▌ ▄▌▅ ▆▉▉ █▍▄▅ ▋▆'▇ ▅▄▌▇▄▋ ▆▄▋▌ ▄▌▋ ▊▄▆▇█▊▇█ ▋█▆▄ ▅▊ ▅▉▆ ▇▌█▍█▍▅▅ ▇▆▇ ▋ ▆▄▄█▋▍█▊▋ ▊▅▍▌█▉ ▊▆▌▅▄ ▉▉█▅█▋▆ ▅▅▅▄. ▇▄ ▊▉█▅▊ ▇▋▋▌ █▊▋█▅ ▄▇▉▌ ▉▅▆▆.▊▉▌▍▄ ▊▇▉ ▊▉▋ ▌▅▌▅█▊█▇▇▊ ▅▌ █▍▊ ▅▋▉▆▉/▆▌█▌▌▇▊ - ▇▄▇▇▌▄ ▄▉▍▅▅▄▆▄▋▌ ▉▉▋█▍▇▉ ▉▍▇▄█▄.
1 Year Ago
Use Vulkan 1.1 if avaliable to resolve VK_ERROR_INCOMPATIBLE_DRIVER, use Vulkan 1.2 when raytracing is avaliable Fix invalid command buffer in CRenderContextVulkan::ApplyDelayedChanges() [temp] don't mount any asset.party shaders vr_lighting.fxc: need explicit sampler lod as used from vs better logging & timeout for when the swapchain hangs, which it shouldn't be, but lets you know wtf is going on
1 Year Ago
Update Vulkan SDK + Volk Stub old vrad3-gpu, incompatible from using beta vk headers rendersystemvulkan: fix raytracing being required, remove VK_EXT_debug_report for VK_EXT_debug_utils vfx_vulkan HLSL compiler using dxc and spirv-tools; rendersystem_vulkan support for how dxc does $Globals / register offsets Sam's shader changes, most of this should just go to master now vfx_vulkan: compatability with shadergraph vfxcompile: display shader compile time in ms [hack] don't deal with instancing on SboxVertex for now, need some additional code around input layouts Add -renderdoc cli option for early renderdoc hooking Don't needlessly set g_TransformBuffer or g_TiledLightBuffer on Submit, already set on init vfx_vulkan sets correct offsets & more reflection info for compute shaders, refactor rendersystemvulkan to use valve's new helpers, bump max samplers to 64, loads of other fixes spir-v remapper (size reduction) Compiled most shaders (including complex)
1 Year Ago
vr: tracked objects (hands) also use full anchor rotation, not just yaw
1 Year Ago
vr: remove axis limitation on vr anchor rotation, enjoy throwing up
1 Year Ago
Skin shader use DXT5 (no sRGB) instead of BC7 for the combined masks texture; stops blocky artifacts & it's more appropriate Resolves these blocky artifacts on the ao mask: https://files.facepunch.com/matt/1b2811b1/TA6eSCStlI.jpg Obviously this is a bug with bc7e and alpha channels (there are issues open), but it's super specific to the way we're combining these textures together for this shader. For standard color maps bc7e is supreme to all other encoders, and when we're combining channels together bc7 is rarely the right choice, so I think it's more than fine to avoid this. Remove nocompress hint from citizen_skin_ao.png and recompile skin materials
1 Year Ago
Rework parts of CLightCookieManager to prevent crashing and optimize slightly * Don't create new light cookies when we exceed the max, otherwise we'll just fucking crash * Don't needlessly update the texture slices of removed cookies, new cookies will replace * Light cookies use a strong texture handle instead of weak handle
1 Year Ago
Update README: General cleanup, build instructions, using unit tests, engine reference, using Git tips Compute max swap chain size from all monitor dimensions - solves tools like Hammer not being able to render fully on secondary larger monitors GetMaterialOverride return default if the override is invalid, specific fix for Hammer crash but could've been fucked elsewhere
1 Year Ago
Disable assert for render thread index exceeding maximum, not needed on DX11 and for Vulkan I'll make it valid to have a slower path when this is exceeded - although it's probably worth looking at how many threads C# can summon in the first place.
1 Year Ago
Proper cleanup in CompileShader Compute shaders work Add -renderdoc cli option for early renderdoc hooking Up shader file version Command buffer access cleanup, debug marker fixes Don't needlessly set g_TransformBuffer or g_TiledLightBuffer on Submit, already set on init
1 Year Ago
ShaderGraph: Fix WorldPosition node
1 Year Ago
Update Vulkan SDK + Volk Stub old vrad3-gpu, incompatible from using beta vk headers rendersystemvulkan: fix raytracing being required, remove VK_EXT_debug_report for VK_EXT_debug_utils vfx_vulkan HLSL compiler using dxc and spirv-tools; rendersystem_vulkan support for how dxc does $Globals / register offsets Sam's shader changes, need to review; shouldn't need to change this much probbly hiding issues with vfx_vulkan Yank away solidcolor, seems only old glow used it Fix warnings and errors in vfx compilation for vulkan Fix projected_decals crashing shader compiler Discard packoffset conflicts on vulkan, we don't care about code path, fix conficts on convolve envmap Remove generate_decal_normals Temp fix DXC not interpreting ShadingModel interface correctly vfx_vulkan: compatability with shadergraph vfxcompile: display shader compile time in ms [hack] don't deal with instancing on SboxVertex for now, need some additional code around input layouts [hack] manually adjusting some vs register offsets to get shit working
1 Year Ago
hlsl_parser: Remove D3D9/GL const defs, register allocations and glsl wrappers rendersystem: RenderContext set their associated thread index from RenderSystem_GetThreadIndex() instead of Plat_GetThreadIndex(), this avoids counting non-rendering threads keeping us well within our MaxDeviceAccessThreads If we didn't find error shader don't bother trying to find a fallback you wouldn't get, just remove the layer, allows us to compile shaders from scratch with everything removed Small HLSL syntax fixes for DXC + Vulkan (FXC is less strict)
1 Year Ago
Get rid of DX9/GL only CFakeSamplerShaderParamBuilder Rewrite overcomplicated RenderState overrides, this would break as soon as you edit the grammar files 😵‍💫
1 Year Ago
Remove unused consts Remove GLSL and DX9 shit macros from shaders Fuck off all this X360 instancing shit Get rid of last of X360 shit Stop using legacy x360 in our user shaders too remove dx9 from lightbinner Shader graph: remove legacy instanced params
1 Year Ago
vr: don't log spam unknown controller types, log once vr: aware of vive focus 3 just so VrInput.IsVive is consistent
1 Year Ago
Assert CSceneObject::ClearMeshInstanceData if owner CSceneObject::DestroyMeshInstanceData() for owned data Avoid dynamic alloc for scene object tags in most cases vmat build (.vfx -> .shader mainly) citizen compile: I think Max may have pushed whilst this was referencing some WIP stuff?
1 Year Ago
sfm: embedded c# asset browser sfm: fix drag drop assets from asset browser sfm: resolve drag dropped cloud assets https://files.facepunch.com/matt/1b1611b1/sbox-dev_rr6iJVzPcd.png
1 Year Ago
fix uninitialized memory crash vk debug utils in memorymgr
1 Year Ago
commit compiled spirv libs
1 Year Ago
hlsl_parser: strip D3D9 const defs hlsl_parser: remove d3d9 and opengl register allocation modes, remove glsl wrappers rendersystemvulkan: add missing debug utils check initialize these hlsl string variables so dxc likes them fix vulkan shader errors vfx_vulkan: baseline compiler using dxc and spirv-reflect, no glslang shit, still using legacy d3d preprocess Use DXC shader names MainVs, MainPs etc in vulkan pipeline rendersystemvulkan: remove VK_EXT_debug_report completely to remove confusion with VK_EXT_debug_utils vfx_vulkan: serialize reflection info in compiled shader Update descriptor set bindings for HLSL -> SPIR-V Update Vulkan SDK + Volk so we can have VK_EXT_graphics_pipeline_library volk.c: restore valve platform defines fix rendersystemvulkan requiring raytracing extension Hidden uav counters work on pixel shaders Update descriptor sets for new descriptor types & binding offsets from hlsl->spirv rendercontexts set associated thread index from RenderSystem_GetThreadIndex() instead of Plat_GetThreadIndex(), this avoids counting non-rendering threads keeping us well within our MaxDeviceAccessThreads Cleanup, small fixes, kill some dead code vulkan_async_descriptors Yank away solidcolor, seems only old glow used it Fix warnings and errors in vfx compilation for vulkan Fix projected_decals crashing shader compiler Discard packoffset conflicts on vulkan, we don't care about code path, fix conficts on convolve envmap Haha it'd be helpful if we actually call this method that sets all the shader param data. Now samplers actually get bound and we're rendering Forgot to commit this amongst debug crap Remove generate_decal_normals If we didn't find error shader don't bother trying to find a fallback you wouldn't get, just remove the layer, allows us to compile shaders from scratch with everything removed Don't use d3dcompiler helpers on vulkan DXC compiler, fix hlsl processor handling of include files Temp fix DXC not interpreting ShadingModel interface correctly [debug] disable fast descriptor set updates, much easier to debug shit that isn't being bound properly spirv-tools, spvremapper libs compiled to work with source 2 vfx_vulkan: post process with spirv-opt, need to do reflection after dead code removal otherwise materialsystem will try to bind invalid buffers stub out old vrad3 gpu code erroring from new vulkan headers backport new vulkan memory manager with support for BDA materialsystem2 support for BDA vfx_vulkan: add $Globals rewriting (without BDA), binding shifts after postprocess [temp] don't deal with instancing on SboxVertex for now, need some additional code around input layouts reenable fast extension for descriptor updates now that everything is binding properly vfx_dx11: fix compile errors with fxc shader compiler
1 Year Ago
[debug] disable fast descriptor set updates, much easier to debug shit that isn't being bound properly spirv-tools, spvremapper libs compiled to work with source 2 vfx_vulkan: post process with spirv-opt, need to do reflection after dead code removal otherwise materialsystem will try to bind invalid buffers
1 Year Ago
hlsl_parser: strip D3D9 const defs hlsl_parser: remove d3d9 and opengl register allocation modes, remove glsl wrappers rendersystemvulkan: add missing debug utils check initialize these hlsl string variables so dxc likes them fix vulkan shader errors vfx_vulkan: baseline compiler using dxc and spirv-reflect, no glslang shit, still using legacy d3d preprocess Use DXC shader names MainVs, MainPs etc in vulkan pipeline rendersystemvulkan: remove VK_EXT_debug_report completely to remove confusion with VK_EXT_debug_utils vfx_vulkan: serialize reflection info in compiled shader Update descriptor set bindings for HLSL -> SPIR-V Update Vulkan SDK + Volk so we can have VK_EXT_graphics_pipeline_library volk.c: restore valve platform defines fix rendersystemvulkan requiring raytracing extension Hidden uav counters work on pixel shaders Update descriptor sets for new descriptor types & binding offsets from hlsl->spirv rendercontexts set associated thread index from RenderSystem_GetThreadIndex() instead of Plat_GetThreadIndex(), this avoids counting non-rendering threads keeping us well within our MaxDeviceAccessThreads Cleanup, small fixes, kill some dead code vulkan_async_descriptors Yank away solidcolor, seems only old glow used it Fix warnings and errors in vfx compilation for vulkan Fix projected_decals crashing shader compiler Discard packoffset conflicts on vulkan, we don't care about code path, fix conficts on convolve envmap Haha it'd be helpful if we actually call this method that sets all the shader param data. Now samplers actually get bound and we're rendering Forgot to commit this amongst debug crap
1 Year Ago
Haha it'd be helpful if we actually call this method that sets all the shader param data. Now samplers actually get bound and we're rendering
1 Year Ago
SFM can load asset.party maps https://files.facepunch.com/matt/1b0811b1/sbox_4lTLLT5Rcm.png
1 Year Ago
hlsl_parser: strip D3D9 const defs hlsl_parser: remove d3d9 and opengl register allocation modes, remove glsl wrappers rendersystemvulkan: add missing debug utils check initialize these hlsl string variables so dxc likes them fix vulkan shader errors vfx_vulkan: baseline compiler using dxc and spirv-reflect, no glslang shit, still using legacy d3d preprocess Use DXC shader names MainVs, MainPs etc in vulkan pipeline rendersystemvulkan: remove VK_EXT_debug_report completely to remove confusion with VK_EXT_debug_utils vfx_vulkan: serialize reflection info in compiled shader Update descriptor set bindings for HLSL -> SPIR-V Update Vulkan SDK + Volk so we can have VK_EXT_graphics_pipeline_library volk.c: restore valve platform defines fix rendersystemvulkan requiring raytracing extension Hidden uav counters work on pixel shaders Update descriptor sets for new descriptor types & binding offsets from hlsl->spirv rendercontexts set associated thread index from RenderSystem_GetThreadIndex() instead of Plat_GetThreadIndex(), this avoids counting non-rendering threads keeping us well within our MaxDeviceAccessThreads Cleanup, small fixes, kill some dead code vulkan_async_descriptors
1 Year Ago
Add a download progress bar & add some comments mocking my shit code, it's good enough to extend SFM which I doubt we'll end up adding anymore C# to
1 Year Ago
Setup interop for SFM (wow this is easy now) CMovieDoc::LoadLevel accepts idents, shit quick code to provision map packages Simple cloud map picker for SFM using the asset browser
1 Year Ago
materialsystem2 changes
1 Year Ago
rendersystemvulkan: remove VK_EXT_debug_report completely to remove confusion with VK_EXT_debug_utils vfx_vulkan: serialize reflection info in compiled shader Update descriptor set bindings for HLSL -> SPIR-V
1 Year Ago
hlsl_parser: strip D3D9 const defs hlsl_parser: remove d3d9 and opengl register allocation modes, remove glsl wrappers rendersystemvulkan: add missing debug utils check initialize these hlsl string variables so dxc likes them fix vulkan shader errors vfx_vulkan: baseline compiler using dxc and spirv-reflect, no glslang shit, still using legacy d3d preprocess Use DXC shader names MainVs, MainPs etc in vulkan pipeline
1 Year Ago
Oops, Refresh was renamed RefreshData sometime today
1 Year Ago
Request lobby data of advertised lobbies in chat so they stop appearing untilted
1 Year Ago
Don't mount local map projects when running the packaged version
1 Year Ago
Quick doc pass Test some additional uris, fix equal uris not being permitted
1 Year Ago
Quick play around to see if a static API for HTTP is good Add some methods for easily handling JSON requests Move access checks over Add optional params for headers and cancelaition tokens Obsolete Sandbox.Internal.Http Update WebSocket header handling Move Http into Sandbox.Game to align with the public WebSocket class Tests fix More tests Access list changes to allow HttpResponseMessage and HttpContent classes Have to specify what http uris you want to use in project settings, menu ignores this
1 Year Ago
Remove OpenGL only IVfx::GetDriverInfo() Remove few remaining referenecs to vfx_dx9 and vfx_gl Remove GLSL and HLSL3 from the HLSL annotation parser Delete vfx_gl vfx_dx9 files Don't need per vfx generated antlr code or intermediate dirs vfx cleanup, get rid of vmpi from vfxc and other shit Restore coreclr AMSI patch with new hostfxr init
1 Year Ago
Fix VR startup crash on AMD Make lobby rich presence better favouring game lobbies over parties ui early cull with global matrix, not local matrix and make sure matrices are resolved before culling occurs PanelRenderer transformed panels with clipping set their software scissor to AABB, whilst keeping the shader scissor untransformed until render Scope the clipping code to keep better track of the scissor and gpu scissor, fixes issues with nested transformed clips which were more common then I thought