c92a6c7e27
CI: Update clang-format pre-commit hook to 19.1.0
2024-09-26 11:46:12 +02:00
364f916f3f
Add debug utilities for Vulkan
...
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
- Debug-only Breadcrumb info for debugging GPU crashes and device lost
- Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks
Functionality marked as "debug-only" is only available in debug or dev
builds.
Misc fixes:
- Early break optimization in RenderingDevice::uniform_set_create
============================
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
1fea6ed01c
Merge pull request #94733 from RandomShaper/d3d12_tex_barr_fast
...
D3D12: Be explicit about all-resources texture barriers
2024-08-16 10:34:49 +02:00
cddf321d30
Merge pull request #94731 from RandomShaper/d3d12_no_null_barr_grps
...
D3D12: Avoid validation warnings about zero-sized barrier groups
2024-08-16 10:34:42 +02:00
8cf2903c7f
D3D12: Avoid cases of redundant render target clears
2024-08-02 14:26:17 +02:00
3260437afc
D3D12: Be explicit about all-resources texture barriers
2024-07-25 15:06:42 +02:00
bb0a8e56e1
D3D12: Avoid validation warnings about zero-sized barrier groups
2024-07-25 11:47:34 +02:00
ffd6162c76
Merge pull request #94267 from RandomShaper/d3d12_db
...
D3D12: Avoid enabling depth bounds test if unsupported
2024-07-17 11:43:39 +02:00
a8adb2bbc3
D3D12: Avoid enabling depth bounds test if unsupported
2024-07-15 09:49:34 +02:00
ee2c1584e4
D3D12: Get rid of DXIL.dll!
2024-07-11 17:56:45 +02:00
207f523441
D3D12: Use the right state for resources in certain heap types
2024-07-01 08:06:26 +02:00
10d81a238e
[LLVM/MinGW] Fix/suppress DX12 related warnings.
2024-06-19 23:40:06 +03:00
f2796fa06d
Merge pull request #91769 from DarioSamo/d3d12_enhanced_barriers
...
Add support for enhanced barriers in D3D12.
2024-05-31 14:15:49 +02:00
628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled.
2024-05-23 15:23:18 +03:00
adabd14d08
Add support for enhanced barriers in D3D12.
...
Enables support for enhanced barriers if available.
Gets rid of the implementation of [CROSS_FAMILY_FALLBACK] in the D3D12 driver. The logic has been reimplemented at a higher level in RenderingDevice itself.
This fallback is only used if the RenderingDeviceDriver reports the API traits and the capability of sharing texture formats correctly. Aliases created in this way can only be used for sampling: never for writing. In most cases, the formats that do not support sharing do not support unordered access/storage writes in the first place.
2024-05-20 13:04:44 -03:00
9042ddf19f
Improvements to VRS/Foveated rendering
2024-05-03 17:20:30 +10:00
3b3e2374c9
clang-tidy: Enforce modernize-use-nullptr
2024-03-12 10:59:53 -05:00
ec55028f26
Merge pull request #89209 from RandomShaper/padding_for_dummies
...
Make shader binary alignment handling simpler and more robust
2024-03-06 13:17:09 +01:00
f77b4d155b
Make shader binary alignment handling simpler and more robust
...
Bonus:
Also simplified the rounding to block size in image size calculations.
2024-03-06 11:48:23 +01:00
5d20628c31
Merge pull request #88496 from bruvzg/d3d12_dyn_load
...
[Windows] Make D3D12 loading dynamic to support pre-Windows 10 versions.
2024-03-05 09:55:41 +01:00
bed48f37aa
Direct3D 12: Fix shader model support check for devices not aware of the highest ones
2024-03-04 13:54:28 +01:00
3f530c7091
Direct3D 12: Implement proper fallback for format casting
2024-02-27 17:20:01 +01:00
cfe344f12f
Merge pull request #87872 from RandomShaper/d3d12_tex_mem_is_life
...
Direct3D 12: Enhance management of texture data life cycle
2024-02-27 16:36:59 +01:00
d47021ac6c
Direct3D 12: Enhance management of texture data life cycle
2024-02-27 15:45:19 +01:00
13e82094ee
Remove word duplicates in comments and strings, and fix casing and punctuation
2024-02-23 17:28:28 -05:00
5fd9d0891f
SCons: Add proper MinGW support to D3D12 deps install script
...
Fix a couple GCC warnings.
2024-02-23 22:13:22 +01:00
ee2d8f68ba
Merge execute and present commands for RenderingDeviceDriver.
2024-02-19 13:09:03 -03:00
f4ca6a856a
[Windows] Make D3D12 loading dynamic to support pre Windows 10 versions.
2024-02-19 15:08:04 +02:00
c1ad24571a
Merge pull request #88252 from RandomShaper/d3d12_slice_of_cube
...
Direct3D 12: Fix cubemap slicing
2024-02-15 15:45:03 +01:00
1a2f9741cf
[D3D12] Improve shader validation handling.
2024-02-13 11:27:48 +02:00
5a0ae10f58
Direct3D 12: Fix cubemap slicing
2024-02-12 16:08:27 +01:00
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
b8b0eea1f8
Merge pull request #87570 from RandomShaper/d3d12_defensive
...
Direct3D 12: Make format feature check more defensive
2024-02-12 13:34:09 +01:00
efa587ad36
Merge pull request #87795 from RandomShaper/d3d12_dont_leak_please
...
Direct3D 12: Avoid terrible leak related to command allocators
2024-02-02 12:04:25 +01:00
6057ec9b06
Direct3D 12: Avoid terrible leak related to command allocators
2024-01-31 20:00:23 +01:00
184009eda6
Merge pull request #87482 from RandomShaper/d3d12_spacey
...
Direct3D 12: Let NIR runtime data and push constants use the same register scheme as bindings
2024-01-26 11:45:49 +01:00
6807cd8673
Direct3D 12: Make format feature check more defensive
2024-01-25 10:12:07 +01:00
0a89a2db9e
Direct3D 12: Let NIR runtime data and push constants use the same register scheme as bindings
2024-01-22 19:39:27 +01:00
44013b88eb
Merge pull request #87298 from RandomShaper/d3d12_qp
...
D3D12 RDD: Fix wrong argument when resolving timestamp queries
2024-01-17 18:53:37 +01:00
925263c35b
D3D12 RDD: Fix wrong argument when resolving timestamp queries
2024-01-17 16:59:13 +01:00
2893c0b475
Fix DX12 build on older MSVC versions, fix missing PIX include.
2024-01-15 11:03:16 +02:00
cc4d39b0c1
Acyclic Command Graph for RenderingDevice.
...
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
12a519bae2
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
...
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com >
2023-12-20 19:18:08 +01:00