Commit Graph

3887 Commits

Author SHA1 Message Date
patwork 3a2804a7e7
Fix for GLES3 radiance cubemap update
(cherry picked from commit 3038de4245)
2024-09-17 10:00:12 +02:00
A Thousand Ships 34251cf5b3
[Windows] Use `GetFileTime` for `FileAccess`
Prevents DST from rearranging file times.

(cherry picked from commit 7139f46c9a)
2024-09-17 08:57:45 +02:00
BlueCube3310 4addddd8df
Compatibility: Fix alignment of compressed textures when retrieving
(cherry picked from commit 0182294b37)
2024-09-17 08:57:45 +02:00
Rudolph Bester 3fac9e43af
Fixed OpenGL shadow textures not honoring texture type when reusing textures
(cherry picked from commit 359aaa48ee)
2024-09-17 08:57:44 +02:00
Praytic 281642831c
Enable MSAA support for all non-web platforms
MSAA support is built into GLES3 core, eliminating the need to check for GL_EXT_framebuffer_multisample, which was necessary only in GLES2 due to the lack of inherent multisample framebuffer support. This commit corrects an oversight from GLES2-based code, ensuring compatibility with GLES3 where multisampling is natively supported without extensions.

(cherry picked from commit fc955fa89f)
2024-09-17 08:57:44 +02:00
clayjohn e09cada53f
Only use backbuffer mipmaps in SCREEN_TEXTURE when generated.
(cherry picked from commit d2f5c1a552)
2024-09-17 08:57:43 +02:00
Alexis Breust 2b05cf154a
Sky: No more auto-selecting REALTIME mode if radiance is not 256
(cherry picked from commit 44e526d3d5)
2024-09-17 08:57:43 +02:00
Radiant af8caffd0e
Fix shadow mesh recursion.
(cherry picked from commit 70860aafd8)
2024-09-17 08:57:43 +02:00
clayjohn 0a1724f713
Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases

(cherry picked from commit f4ccba7508)
2024-09-17 08:57:41 +02:00
BlueCube3310 8e1d1a54fe
Compatibility: Fix crash when initializing certain compressed layered textures
(cherry picked from commit e8b4568900)
2024-09-16 17:18:24 +02:00
jsjtxietian 139f5ee15e
Add model_normal_matrix for fragment shader
(cherry picked from commit e698351db2)
2024-09-16 17:09:36 +02:00
Orion Lawlor ecbb9a9c6a
Fix GLES3 crash with Mesh surface with exactly 65536 vertices
Fixes #95837.

(cherry picked from commit bde165ccb3)
2024-09-16 17:09:12 +02:00
kleonc f0f69a7b7c
Fix Parallax2D repeats being not relative to its transform
(cherry picked from commit 1bd8372813)
2024-09-16 17:04:12 +02:00
clayjohn 6c202154a7
Add fixed fog to the sky in the Compatibility renderer
And apply luminance multiplier after fog in RD renderer

(cherry picked from commit 578049b7b9)
2024-09-16 17:01:45 +02:00
Joel Croteau 6e78eec37f
Fix reload of GDExtension libraries in framework package on macos
`GDExtension::open_library` has a check in it to see if the library was loaded
from a temp file, and if it was to restore the original name as that is the one
we actually care about. This check is breaking extension reloading on Mac when
the library path is to a framework folder, as the file inside the framework
will not generally be the same name as the folder.

This check also shouldn't be necessary even on Windows, which is the only
platform that uses `generate_temp_files`, since disposal of the created temp
file is handled within `OS_Windows::open_dynamic_library`, and
`GDExtension::open_library` (which is the only function to call
`open_dynamic_library` with a `p_data` argument) only cares about the original
library file path and has to do extra work to remove the name of the temp file.
Instead, I have removed that check and set `OS_Windows::open_dynamic_library`
to return the name of the original file and not the name of the copy.

This fixes GDExtension reloading on macOS. I do not have a Windows machine
available to test that it still works properly on Windows, so someone should
check that before merging this.

(cherry picked from commit f44d6a235f)
2024-09-16 16:55:39 +02:00
Pedro J. Estébanez c831bdbbe2
D3D12: Be explicit about all-resources texture barriers
(cherry picked from commit 3260437afc)
2024-09-16 16:45:55 +02:00
jsjtxietian b84dbab84d
Fix undefined `alpha_scissor` in standard shader
(cherry picked from commit 970a237c20)
2024-09-16 16:42:01 +02:00
clayjohn cbee16418a
Increase precision of skeleton transforms in the skeleton shader in the Compatibility renderer
(cherry picked from commit 1bf594fb5a)
2024-09-16 16:33:38 +02:00
Miley Hollenberg a7756d530e
Fixed crash on PowerVR GE8320 GPUs
(cherry picked from commit 1c31e30359)
2024-09-16 16:32:56 +02:00
David Snopek e1af61467a
OpenGL: Unconditionally do `glDisable(GL_FRAMEBUFFER_SRGB)` because we do our own sRGB conversion
(cherry picked from commit dfcff4ef46)
2024-09-16 16:30:06 +02:00
Rémi Verschelde 32eb97fd2a
Merge pull request #95074 from RandomShaper/d3d12_exit_crash
D3D12: Avoid crash on exit
2024-08-08 10:16:24 +02:00
Pedro J. Estébanez 33bd994087 D3D12: Avoid crash on exit 2024-08-02 18:18:10 +02:00
Pedro J. Estébanez 8cf2903c7f D3D12: Avoid cases of redundant render target clears 2024-08-02 14:26:17 +02:00
Bastiaan Olij 1eb0039b6e Fix regression around OpenGL swapchain optimisation for OpenXR 2024-07-29 12:46:58 +10:00
clayjohn 7eac9e855b Remove linearization of canvas modulate in GLES3 backend
The GLES3 renderer is always in sRGB space, even when using an HDR format
2024-07-24 10:27:25 -07:00
Feiyue Zhang 6f30df4b6a
Linearize color if HDR 2D is on 2024-07-24 09:49:50 +02:00
Rémi Verschelde ad1955a63d
Merge pull request #94628 from Chaosus/rendering_fix_crash
Fix crash when assigning more textures than expected to texture array
2024-07-23 13:08:18 +02:00
Rémi Verschelde 6a79d848a8
Merge pull request #94564 from rothej/fix-94183
Fix FOG shader issue in Compatibility mode
2024-07-23 13:08:12 +02:00
Joshua Rothe d751545391
Fix FOG shader issue in Compatibility mode 2024-07-23 11:25:10 +02:00
cosformula fa8b4d84fb
GLES3: Fix directional shadow on Metal ANGLE 2024-07-23 11:24:13 +02:00
Yuri Rubinsky 574e61a542 Fix crash when assigning more textures than expected to texture array 2024-07-22 20:51:11 +03:00
Rémi Verschelde 6621d8e8cc
Merge pull request #93931 from /fix-compatibility-depth_prepass_alpha 2024-07-20 16:07:30 +02:00
Hugo Locurcio 0445ccf428
Fix Image CowData crash when baking large lightmaps
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.

VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +02:00
Rémi Verschelde de27d3a7fc
Merge pull request #94233 from ChristopheClaustre/screenshot_compat_broken_with_hdr
Fix black `get_texture()` on viewport in compatibility mode with HDR enabled
2024-07-18 10:45:30 +02:00
Rémi Verschelde 590628feda
Merge pull request #86516 from jsjtxietian/fix-camera-direction
Fix incorrect `CAMERA_DIRECTION_WORLD` calculation
2024-07-18 10:45:20 +02:00
Rémi Verschelde 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
Pedro J. Estébanez a8adb2bbc3 D3D12: Avoid enabling depth bounds test if unsupported 2024-07-15 09:49:34 +02:00
Rémi Verschelde 1aa1a1879d
Merge pull request #94203 from RandomShaper/bye_bye_dxil_dll
D3D12: Get rid of `DXIL.dll`!
2024-07-11 23:16:59 +02:00
ChristopheClaustre 626106da00 gl_type_cache is used mainly for texture to image conversion need to be adjusted for when HDR format is activated 2024-07-11 21:47:18 +02:00
Pedro J. Estébanez ee2c1584e4 D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
Rémi Verschelde 247a481001
Fix a couple GCC 14 `-Wmaybe-uninitialized` warnings 2024-07-09 16:12:22 +02:00
clayjohn 5b213dcd26 Use GL_COLOR_ATTACHMENT in depth prepass when using Multiview.
I am certain this is a driver bug. But on some devices when no draw buffer is specified, the depth operations fail when there is no color buffer.
2024-07-08 12:52:20 -07:00
GuoShuangyi af62d15ebc fix depth_prepass_alpha not work in compatibility mode 2024-07-04 17:38:14 +08:00
Rémi Verschelde 643da5dfad
Merge pull request #93331 from dsnopek/macos-fix-use-volk
Fix building with `use_volk=yes` on MacOS
2024-07-04 11:31:51 +02:00
Pedro J. Estébanez 207f523441 D3D12: Use the right state for resources in certain heap types 2024-07-01 08:06:26 +02:00
clayjohn 27b040dc61
Remove warning when project setting requests a larger global shader uniform buffer than the hardware supports.
Instead provide a better error message when the limit is exceeded and avoid crash with a small limit.
2024-06-28 10:38:18 +02:00
Ibrahn Sahir 607c5ec49f Move MIDI parsing up from ALSA driver to platform independent driver.
Aims for more consistent MIDI support across Windows, MacOS, Linux and
to provide a base for adding MIDI drivers for other platforms.
Reworks the MIDIDriverALSAMidi MIDI parsing implementation as a platform
independent version in MIDIDriver::Parser.
Uses MIDIDriver::Parser to provide running status support in MacOS
MIDIDriverCoreMidi.
Collects connected input names at open, ensuring devices indices reported
in events match names in array returned from get_connected_inputs.

Fixes #77035.
Fixes #79811.

With code review changes by: A Thousand Ships (she/her)
<96648715+AThousandShips@users.noreply.github.com>
2024-06-25 16:46:30 +01:00
Rémi Verschelde 1a0190270f
Merge pull request #93560 from dsnopek/webxr-emscripten-3151
[Web] Fix checking for OpenGL extensions with Emscripten 3.1.51 and later
2024-06-25 09:20:01 +02:00
Rémi Verschelde fb8a1f143a
Merge pull request #93530 from BastiaanOlij/fix_opengl_post
Fix incorrect enabling of post process in OpenGL
2024-06-25 09:19:57 +02:00
David Snopek 51f9df0ec8 [Web] Fix checking for OpenGL extensions with Emscripten 3.1.51 and later 2024-06-24 14:41:51 -05:00