Commit Graph

2291 Commits

Author SHA1 Message Date
Rémi Verschelde 705b7a0b0b
Merge pull request #92587 from RandomShaper/validate_tex_usage
RenderingDevice: Reject creation of textures with no usage
2024-05-31 14:16:55 +02:00
Rémi Verschelde 8b044da396
Merge pull request #92474 from Rudolph-B/fix-collided-particles-jittering
Fix collided 3D GPU particles sometimes jittering
2024-05-31 14:16:46 +02:00
Rémi Verschelde 138f334316
Merge pull request #92444 from clayjohn/RD-srgb-uniform-buffer
Separate linear and sRGB uniform buffers in RD rendering backends
2024-05-31 14:16:43 +02:00
Rémi Verschelde 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
Pedro J. Estébanez 3e5865660b RenderingDevice: Reject creation of textures with no usage 2024-05-31 12:00:58 +02:00
Yuri Rubinsky aecc4cbc47 Prevent using built-ins for func names in shaders 2024-05-30 21:33:21 +03:00
Rémi Verschelde 1e6b11dcd4
Merge pull request #92287 from clayjohn/LOD-safe-fixes
Fix LOD selection in compatibility backend and clean up LOD code
2024-05-28 18:06:45 +02:00
Rudolph Bester f666c76a9c Fixed collided 3D GPU particles sometimes jittering 2024-05-28 14:09:08 +02:00
Yuri Rubinsky 246a760323 Fix completion of functions with struct param/return type in shaders 2024-05-28 12:13:25 +03:00
clayjohn c6b08d462a Separate linear and sRGB uniform buffers in RD rendering backends 2024-05-27 13:38:49 -07:00
Rémi Verschelde abfe8ba7d6
Merge pull request #92258 from DarioSamo/render_list_pass_alloc
Reduce allocations each time a render pass begins in RenderingDevice.
2024-05-23 23:25:51 +02:00
Rémi Verschelde 68c8e2eaf3
Merge pull request #92244 from jsjtxietian/blend-shape-shadow
Fix mesh instance not updated when changing blend shape values
2024-05-23 23:25:48 +02:00
clayjohn 267ea14616 Fix LOD selection in compatibility backend and clean up LOD code 2024-05-23 11:30:22 -07:00
Dario ce4f19a034 Switch vectors in each render pass to use TLS. 2024-05-23 10:52:29 -03:00
bruvzg 628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled. 2024-05-23 15:23:18 +03:00
jsjtxietian 97af135f1b Fix mesh instance not updated when changing blend shape values 2024-05-23 12:36:31 +08:00
Rémi Verschelde 8e2141eac5
Merge pull request #92232 from clayjohn/RD-mobile-LOD
Only apply LOD when camera is outside the AABB of mesh in mobile renderer.
2024-05-22 09:27:03 +02:00
clayjohn c5346a62b0 Only apply LOD when camera is outside the AABB of mesh in mobile renderer.
This copies the existing logic from the Forward+ renderer
2024-05-21 18:32:04 -07:00
Rémi Verschelde 008fd5fee6
Merge pull request #92078 from lawnjelly/increase_tight_cull_epsilon
Tight shadow culling - increase epsilon to prevent flickering
2024-05-21 11:22:47 +02:00
Dario 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
Rémi Verschelde 6aece8e1b6
Merge pull request #92045 from RandomShaper/context_getter
Add context getter to RenderingDevice
2024-05-18 17:41:38 +02:00
lawnjelly 512b0f16a3 Tight shadow culling - increase epsilon to prevent flickering
Near colinear triangles were still causing inaccuracy in culling planes, so the threshold for colinearity is bumped up.
2024-05-18 14:14:27 +01:00
Rémi Verschelde d3e261523f
Merge pull request #88289 from DarioSamo/rd_minimized_window
Fix swap chain errors when application starts minimized.
2024-05-17 11:13:31 +02:00
Pedro J. Estébanez ffa791c41f Add context getter to RenderingDevice 2024-05-17 09:56:03 +02:00
Rémi Verschelde 5708a3a02e
Merge pull request #92000 from clayjohn/vram-debugger
Increase coverage of VRAM debugger and add support to RD backends
2024-05-16 09:32:11 +02:00
clayjohn c84616c2d2 Increase coverage of VRAM debugger and add support to RD backends 2024-05-15 16:30:19 -07:00
Dario 61cd007cf4 Rewrite implementation for prepare for use commands to be skipped when not required by the API. 2024-05-15 14:34:52 -03:00
Rémi Verschelde c9fdcde20f
Merge pull request #91642 from BastiaanOlij/fix_transparent_sky
Skip rendering sky if viewport is set to transparent background
2024-05-14 12:06:44 +02:00
Rémi Verschelde db3c4a4612
Merge pull request #91514 from DarioSamo/adreno_workaround
Add optional driver workaround to RenderingDevice for Adreno 6XX.
2024-05-14 12:06:37 +02:00
Dario d5789e09eb Add optional driver workaround to RenderingDevice for Adreno 6XX.
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-05-13 10:20:31 -03:00
Yaohua Xiong ed3d311687 Add antialias support for CanvasItem draw primitives
including
- rect, circle; both filled and unfilled.
- polyline, multiline
2024-05-13 19:03:31 +08:00
Rémi Verschelde c322a9b7ee
Merge pull request #91808 from DarioSamo/debug_mv_msaa
Do not use MSAA versions of textures on debug views.
2024-05-13 12:05:46 +02:00
Bastiaan Olij 6efaaecde2 Skip rendering sky if viewport is set to transparent background 2024-05-13 11:04:06 +10:00
Dario a3ecc86f47 Do not use MSAA versions of textures on debug views. 2024-05-10 14:01:58 -03:00
Dario 3f64eeb393 Rewrite reprojection for FSR2 to work correctly with Reverse-Z. 2024-05-10 11:57:27 -03:00
lawnjelly a76243a549 Tighter light culling - fix directional lights colinear case
Exactly the same fix as done already for non-directional lights.
2024-05-10 09:13:05 +01:00
Pedro J. Estébanez 1589433e8f Apply additional fixes to servers' threading 2024-05-08 17:41:40 +02:00
A Thousand Ships a0dbdcc3ab
Replace `find` with `contains/has` where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde 7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +02:00
Rémi Verschelde 259d576f6e
Merge pull request #91480 from clayjohn/Mobile-mipmaps-bug
Use a full screen triangle for mipmap calculations in mobile renderer
2024-05-07 14:25:42 +02:00
Rémi Verschelde 4b070e8031
Fix various typos with codespell
Using 2.2.7.dev217+g10c2abcf.

Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
Rémi Verschelde e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Rob Blanckaert 64c04d95aa Fix shader error on mobile when using LIGHT_VERTEX 2024-05-04 11:02:05 -07:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Rémi Verschelde 7ebc866418
Merge pull request #91545 from clayjohn/RD-shadow-atlas
Properly set size of shadow atlas quadrant when subdivision is 8 or higher.
2024-05-04 11:52:45 +02:00
Rémi Verschelde f236b9badc
Merge pull request #91530 from DarioSamo/timestamp_validation
Add draw and dispatch count to timestamp validation.
2024-05-04 11:52:41 +02:00
Rémi Verschelde a2fc5e2d78
Merge pull request #89894 from BastiaanOlij/improve_foveated_rendering
Improvements to VRS/Foveated rendering
2024-05-04 11:52:15 +02:00
clayjohn caeef3473b Properly set size of shadow atlas quadrant when subdivision is 8 or higher.
Also fix renderpass rect validation
2024-05-03 17:11:05 -07:00
Dario c41e407e61 Add draw and dispatch count to timestamp validation. 2024-05-03 14:23:38 -03:00
Rémi Verschelde 03e6fbb010
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00