Davis Gallinghouse
deb313dd99
GPU: Compile Metal shader source from NSString
...
Using the @() syntax to construct an NSString assumes the parenthesized
pointer is null-terminated, but the Metal shader source included in
render/sdlgpu/shaders/metal.h is not null-terminated.
Quoting the clang documentation on Objective-C literals:
When the type of the parenthesized expression is (char *) or (const
char *), the result of the boxed expression is a pointer to an
NSString object containing equivalent character data, which is
assumed to be ‘\0’-terminated and UTF-8 encoded.
Because the @() syntax assumes null-termination, it may read garbage
data after the shader source (up to the next null byte), which can then
cause the Metal shader compiler to fail. To prevent this, instead of
using the @() boxing syntax, we explicitly construct an NSString using
the string length passed by the caller.
2024-09-02 07:20:36 -07:00
Sam Lantinga
df501040fd
Fixed random seed not affecting SDLTest_RandomIntegerInRange()
2024-09-01 14:05:27 -07:00
Zero
2c0ffdc6d5
GPU: Pass the new window size when resizing the swapchain for d3d12 ( #10665 )
2024-09-01 08:48:29 -07:00
Andrei Alexeyev
d4b8072614
GPU: Fix and generalize BytesPerRow() and BytesPerImage() ( #10663 )
...
These functions had special cases for a few BC formats, but all
block-compressed formats should need the same logic. Furthermore they
weren't handling the sRGB variants of those formats.
2024-08-31 23:07:38 -07:00
coffeechriph
b15d79a35a
Fix texture_rgba_frag for metal in SDL_shaders_gpu.c
2024-08-31 20:09:11 -07:00
Anonymous Maarten
c11b58ead7
Increase maximum line length of SDLTest_LogAllocations
2024-09-01 02:19:39 +02:00
Sam Lantinga
b17ca32d8c
Changed GPU driver names to match renderer driver names
...
Fixes https://github.com/libsdl-org/SDL/issues/10650
2024-08-31 10:06:27 -07:00
Sam Lantinga
51a0b58f75
GPU logging should be quiet by default
2024-08-31 09:52:21 -07:00
Sam Lantinga
6c30a0f60b
Added scaleMode validation to SDL_SetTextureScaleMode()
2024-08-31 09:43:02 -07:00
Anonymous Maarten
63e58e5d66
SDL_Log: always use WriteFile/WriteConsole on Windows
...
OutputDebugString and fprintf(stderr) (of mslibc) both output
to the debug window of Visual Studio.
In other debuggers (e.g. RAD), this does not happen.
To avoid double output, this commit always uses WriteFile/WriteConsole.
2024-08-31 17:48:57 +02:00
Anonymous Maarten
8ffc1c2705
SDL_Log: don't rely on printf to forward stderr to the debug stream
...
This partially reverts 125ce71379
2024-08-31 17:48:57 +02:00
Sam Lantinga
f827c1322c
Renamed SDL_Del* to SDL_Remove*
2024-08-31 07:46:28 -07:00
Sam Lantinga
cf1d8e2dfd
Renamed SDL_AtomicSetPtr() and SDL_AtomicGetPtr()
...
Fixes https://github.com/libsdl-org/SDL/issues/10601
2024-08-31 07:46:28 -07:00
Jan Sedivy
00708b976a
GPU Metal: Fix uninitialized memory
2024-08-31 07:29:32 -07:00
Sam Lantinga
2010a22f44
Removed unneeded separate return statement.
2024-08-31 07:26:13 -07:00
Sam Lantinga
4759a97c09
Fixed return value from D3D12_UpdateVertexBuffer()
...
Fixes https://github.com/libsdl-org/SDL/issues/10649
2024-08-31 07:26:13 -07:00
Anonymous Maarten
31a5f3b833
Fix C4090: 'function': different 'const' qualifiers
2024-08-31 06:49:33 -07:00
Frank Praznik
5d5a685a80
wayland: Add support for setting window icons via the xdg-toplevel-icon-v1 protocol
2024-08-31 09:38:43 -04:00
Anonymous Maarten
ea0ab2647a
SDL_test: print no procname when SDL_TRACKMEM_SYMBOL_NAMES is false
...
On ci, by default this variable is set to a false value.
By adding [sdl-ci-trackmem] to the commit message,
it will become true.
2024-08-31 13:16:51 +02:00
Anonymous Maarten
384afa378c
SDL_test: fix proc names on older libunwind
...
Older libunwind does not have unw_get_proc_name_by_ip.
Instead, use unw_get_proc_name.
Reference: 4c00433b69
2024-08-31 13:16:51 +02:00
Andrei Alexeyev
0e08d15cca
GPU: Fix unhandled R16G16_UNORM in SDL_GPUTextureFormatTexelBlockSize() ( #10638 )
2024-08-30 17:05:17 -07:00
Sam Lantinga
f13dc502c6
Sort exported functions
2024-08-30 15:45:30 -07:00
Evan Hemsley
12ecdb9dde
GPU: Rename some awkwardly named functions ( #10642 )
2024-08-30 15:31:10 -07:00
Sam Lantinga
bef07023d6
Fixed memory leak if the GPU renderer can't be initialized
...
DestroyRenderer needs to be set before we return false from GPU_CreateRenderer()
2024-08-30 14:49:49 -07:00
cosmonaut
906044569d
GPU D3D12: Fix command buffer leak
2024-08-30 10:46:41 -07:00
Sam Lantinga
b602c449e5
Remove SDL_SCALEMODE_BEST
...
Fixes https://github.com/libsdl-org/SDL/issues/10619
2024-08-30 10:30:14 -07:00
Evan Hemsley
4bbf0d45fd
GPU D3D12: Fix teardown and leaks on device creation failure ( #10639 )
2024-08-30 10:24:02 -07:00
Sam Lantinga
40d85109ac
Fixed crash when using the dummy video driver
...
The higher level code will clean up the renderer if initialization fails.
2024-08-30 07:16:47 -07:00
Sam Lantinga
580a496391
Adjust rounding when calculating resampled output frames
...
Fixes https://github.com/libsdl-org/sdl2-compat/issues/95
2024-08-30 07:16:47 -07:00
Anonymous Maarten
88fe52df7b
SDL_test: add --gpu option
2024-08-30 13:43:38 +02:00
Andrei Alexeyev
d1a2c57fb9
GPU: Fix memory leak in VULKAN_CreateDevice ( #10631 )
2024-08-29 22:15:08 -07:00
Sam Lantinga
16fb8e54cb
Fixed the colorspace for YUV textures using native RGB representations
...
Fixes https://github.com/libsdl-org/SDL/issues/10624
2024-08-29 20:55:09 -07:00
Sam Lantinga
efc98062af
Fixed warning C4310: cast truncates constant value
2024-08-29 19:31:23 -07:00
Sam Lantinga
5518aca054
Use stdbool internally in SDL
2024-08-29 18:54:05 -07:00
Sam Lantinga
dfcabc3db8
Fixed drawing debug text
2024-08-29 18:21:48 -07:00
Sam Lantinga
683e5b8d52
Removed Unicode BOM
2024-08-29 17:33:52 -07:00
Sam Lantinga
858589919a
Temporarily use the GPU renderer by default so we get testing feedback
2024-08-29 17:33:52 -07:00
Sam Lantinga
b356c65005
Sort exported symbols
2024-08-29 17:33:52 -07:00
Sam Lantinga
62f6e6b701
Removed the preferLowPower parameter from SDL_CreateGPUDevice()
2024-08-29 17:33:52 -07:00
Sam Lantinga
b8e7ef27f3
Renamed GPU device creation properties
2024-08-29 17:33:52 -07:00
Sam Lantinga
d70578b9aa
Renamed Gpu to GPU
2024-08-29 17:33:52 -07:00
cosmonaut
2e7d5bb429
Add the SDL_GPU API
...
Project Lead: Evan Hemsley <evan@moonside.games >
Co-designer, Metal Port, Console Ports:
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com >
Production, QA, Debug:
Co-authored-by: Ethan Lee <flibitijibibo@gmail.com >
SDL_Render Driver, Bugfixes:
Co-authored-by: Andrei Alexeyev <akari@taisei-project.org >
Additional D3D12 Programming, Bugfixes:
Co-authored-by: Bart van der Werf <bluelive@gmail.com >
Bugfixes and Feedback:
Co-authored-by: Zakary Strange <zakarystrange@gmail.com >
Co-authored-by: meyraud705 <meyraud705@gmail.com >
Co-authored-by: Joshua T. Fisher <playmer@gmail.com >
Co-authored-by: Topi Ritala <ritalat@fastmail.com >
Co-authored-by: David Gow <david@ingeniumdigital.com >
Original API Proposal:
Co-authored-by: Ryan C. Gordon <icculus@icculus.org >
2024-08-29 15:57:29 -07:00
Mārtiņš Možeiko
d9b3b9ad91
Add neon SIMD alpha blending blitter
2024-08-28 21:37:55 -07:00
Ethan Lee
9ab140fad8
offscreen: Fix bogus surface pointer assignment
2024-08-28 21:31:24 -04:00
Sam Lantinga
1a007ab88d
Fixed SDL_GetDisplayIndex()
2024-08-28 16:30:21 -07:00
Sam Lantinga
7055001d85
Fixed SDL_GetPrimaryDisplay()
2024-08-28 15:59:13 -07:00
Sam Lantinga
0cdb4833d5
Removed unnecessary inclusion of stdint.h
2024-08-28 15:54:56 -07:00
Sam Lantinga
37b4aac3ac
Removed unnecessary inclusion of stdbool.h
2024-08-28 13:58:03 -07:00
Sam Lantinga
91eabf1b4d
Fixed SDL_EGL_ChooseConfig()
2024-08-28 13:37:00 -07:00
Sam Lantinga
3bf7b4ff31
Fixed SDL_EGL_LoadLibrary()
2024-08-28 13:21:02 -07:00