Commit Graph

192 Commits

Author SHA1 Message Date
c40eefc79d Fix compilation errors with /permissive- standard conformance mode 2025-12-19 13:14:10 +02:00
Wojtek Figat
ca52122656 Fix validation error on Windows for textures but optimize buffers instead 2025-12-10 14:53:51 +01:00
Wojtek Figat
20a7fcf6a0 Add profiler wait event for GPU wait on D3D12 2025-12-10 13:01:24 +01:00
Wojtek Figat
43665aa7eb Rename GPUContext::ClearState to ResetState for constentency 2025-12-10 13:00:59 +01:00
Wojtek Figat
3b9b49950c Fixes for Xbox One 2025-12-10 09:48:47 +01:00
Wojtek Figat
c437daf9be Fix new compiler DXC changes 2025-11-18 05:42:02 -08:00
Wojtek Figat
5f0e1253cc Refactor DX12 Root Signature creation to support offline construction
Fix running D3D12 on integrated AMD GPU
2025-11-18 12:08:54 +01:00
Wojtek Figat
5e690abd76 Fix initial state of DummyVertexBuffer on DX12 2025-11-14 01:06:01 -08:00
Wojtek Figat
91ee9f5e05 Refactor Mesh SDF generation on GPU to use raytracing for more precise results 2025-11-13 22:05:23 +01:00
Wojtek Figat
22515c37b5 Fix crash regression in D3D12 UAV bindings code 2025-10-27 22:38:47 +01:00
Wojtek Figat
2bf62cc54f Add GPUDevice.VideoOutputs with a list of attached monitors 2025-10-09 15:13:04 +02:00
Wojtek Figat
361fc3ecfb Add stencil buffer usage with object layer information
#3080 #967
2025-10-07 18:07:23 +02:00
Wojtek Figat
64c62f269c Optimize D3D12 with D3D12_HEAP_FLAG_CREATE_NOT_ZEROED in some cases 2025-09-09 22:54:37 +02:00
Wojtek Figat
831fb0f442 Optimize textures/buffers uploading on Vulkan with page allocator 2025-09-04 21:38:07 +02:00
Wojtek Figat
cd22cd059d Various small fixes and improvements 2025-09-04 15:56:33 +02:00
Wojtek Figat
d109e5ca9f Add AGS lib to D3D11 for efficient UAV writes overlaps on AMD GPUs 2025-08-10 17:16:36 +02:00
Wojtek Figat
c1c806490f Add nvapi lib to D3D11 for efficient UAV writes overlaps on NVIDIA GPUs 2025-08-10 16:05:18 +02:00
Wojtek Figat
82231981dc Add debug tool detection for Nsight Graphics 2025-08-09 23:58:47 +02:00
Wojtek Figat
1915e1e7f4 Optimize compute shader pipeline binding on D3D12 and Vulkan when unchanged 2025-08-09 23:58:15 +02:00
Wojtek Figat
b5a431d2f5 Add explicit GPU resource transitions, memory and compute barriers 2025-08-09 23:57:43 +02:00
Wojtek Figat
0369d9b2cb Optimize CSSetShader on D3D11 when remains unchanged 2025-08-08 11:03:03 +02:00
Wojtek Figat
cf9c203855 Various optimizations 2025-08-06 18:48:18 +02:00
Wojtek Figat
846a0b5685 Fix PSO init to release old data on recreation 2025-07-31 15:08:38 +02:00
Wojtek Figat
5e4d564338 Add **GPU profiling support to Tracy integration** 2025-07-30 19:08:45 +02:00
Wojtek Figat
8fcbef863e Add GPUResourceMapMode.NoWait flag to control buffer data reading
c68b75a298
2025-07-30 08:42:26 +02:00
Wojtek Figat
c68b75a298 Fix GPUBufferDX11::Map to wait on data to avoid missing data when reading staging buffers 2025-07-29 21:43:09 +02:00
Wojtek Figat
17c0892ff1 Add debug name for PSO catching on D3D12/Vulkan during profiling incl. Development builds 2025-07-28 23:08:26 +02:00
Wojtek Figat
5c37584eca Minor adjustment for alignment of perf-critical variables in rendering 2025-06-26 19:50:42 +02:00
Wojtek Figat
e9835766bc Add red color to Tracy profiler zones that cause CPU waiting to improve profiling 2025-06-11 14:56:43 +02:00
Wojtek Figat
9d8e75caa3 Fix various code to improve quality 2025-06-06 11:19:32 +02:00
Wojtek Figat
c639a3103c Add memory profiling events to the main areas of the engine 2025-05-22 04:47:01 +02:00
Wojtek Figat
9c3fd052cd Remove copyright year from source files and update to 2025 2025-04-07 19:22:21 +02:00
Wojtek Figat
5873c48ed6 Fix dummy vertex buffer on d3d11 and d3d12 to be float4 instead of byte4 2025-04-03 19:09:12 +02:00
Wojtek Figat
fa1469514b Fix binding missing vertex buffer slots to zero data on D3D11 and D3D12 2025-03-26 22:54:00 +01:00
Wojtek Figat
0fa88b23c6 Add DriverVersion to GPUAdapter for checking on old GPU drivers 2025-03-07 11:39:54 +01:00
Wojtek Figat
772f7f7fd2 Move GPUDeviceDX::UpdateOutputs to cpp file 2025-03-06 09:00:33 +01:00
Wojtek Figat
a6fb651ff4 Merge remote-tracking branch 'origin/master' into 1.10
# Conflicts:
#	Source/Engine/Graphics/Materials/MaterialShader.h
2025-02-18 09:19:59 +01:00
Wojtek Figat
04dde7a3f2 Add warnings on incorrect GPUBuffer or GPUTexture usage when binding to GPUContext (in non-release builds) 2025-01-30 22:03:21 +01:00
Wojtek Figat
44fae3838e Add GPUResourceUsage.Staging for both CPU read/write access 2025-01-30 20:39:04 +01:00
Wojtek Figat
d501018feb Add improved GPU crashes reporting 2025-01-24 22:56:52 +01:00
Wojtek Figat
80a44b5f5c Remove old code 2025-01-24 11:08:31 +01:00
Wojtek Figat
647d74af0d Fixes for vertex layouts binding into graphics backend 2025-01-11 22:44:38 +01:00
Wojtek Figat
a1c46d2e6e Add support for up to 4 texture channels when importing meshes
#2667
2025-01-11 22:40:20 +01:00
Wojtek Figat
7aa240e5eb Add vertex shader input layout reading via shader compiler reflection to handle missing vertex elements binding when explicit layout got deprecated 2025-01-07 23:26:06 +01:00
Wojtek Figat
db4d7d2a05 **Refactor meshes format to support custom vertex layouts and new flexible api to access mesh data**
#3044 #2667
2025-01-06 22:47:19 +01:00
Wojtek Figat
933fac6c13 Add Slice to Span and sue it to make code cleaner 2025-01-05 17:41:27 +01:00
Wojtek Figat
6f04231b31 Rename Vertex Shader input semantic ofBLENDWEIGHT to BLENDWEIGHTS 2025-01-04 21:04:18 +01:00
Wojtek Figat
4f42fb2302 Update other graphics apis to match missing vertex shader inputs merging 2025-01-04 10:55:55 +01:00
Wojtek Figat
7b7dd9d142 Improve GPU vertex layout binding in case of missing element from the mesh 2025-01-03 01:09:25 +01:00
Wojtek Figat
348f17479d Fix name of BlendWeight to BlendWeights for vertex input to match BlendIndices 2025-01-03 01:07:33 +01:00