Lucas Murray
b2c2a483e8
GPU: Rename HDR10_ST2048 to HDR10_ST2084
2024-12-26 09:47:13 -08:00
Caleb Cornett
a27c139b12
GPU: Explicitly check Metal hardware support on device creation
2024-12-24 12:36:52 -05:00
Caleb Cornett
62124e2c28
GPU: Enable Metal validation in debug mode ( #11691 )
2024-12-23 18:08:14 -05:00
Evan Hemsley
3ee39f6c3f
GPU: Revise swapchain acquisition ( #11633 )
...
---------
Co-authored-by: Lucas Murray <22484+lmurray@users.noreply.github.com >
2024-12-11 11:16:35 -08:00
Anonymous Maarten
e4215a04d9
gpu: make macro's function-like using do-while-0
2024-12-09 00:01:16 +01:00
Anonymous Maarten
0370b92d80
gpu: SDL_ClaimWindowForGPUDevice must set an error message on failure
2024-12-09 00:01:16 +01:00
Evan Hemsley
fa5f84fb6e
GPU: Add SetGPUAllowedFramesInFlight ( #11599 )
2024-12-06 11:56:20 -08:00
Evan Hemsley
b4dff42dcd
GPU: Add SDL_CancelGPUCommandBuffer ( #11316 )
...
---------
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com >
2024-10-29 14:43:22 -07:00
d-musique
35e53f76a9
metal: check success of device creation ( #11367 )
...
When macOS runs under a virtual environment, it is possible that
MTLCreateSystemDefaultDevice() does not succeed.
Not checking this failure results in a crash down the road.
This change allows to skip GPU renderer and use an adequate fallback.
Co-authored-by: D.musique <d-musique@users.noreply.github.com >
2024-10-29 12:35:13 -04:00
Caleb Cornett
54836050c9
metal: Add availability checks
2024-10-29 08:13:51 -07:00
Caleb Cornett
cdaaabb978
GPU: Fix Metal sampler address mode order
2024-10-15 10:46:04 -04:00
Evan Hemsley
6ea4a66451
GPU: Add SDL_CalculateGPUTextureFormatSize ( #11146 )
...
---------
Co-authored-by: Sam Lantinga <slouken@libsdl.org >
2024-10-10 16:34:38 -07:00
Caleb Cornett
3db10a6b2c
GPU: ASTC block size fixes ( #11157 )
2024-10-10 15:40:21 -07:00
Delta
8e6ead2f7b
[GPU] Added ASTC texture format support ( #11116 )
2024-10-08 18:45:04 -04:00
Evan Hemsley
afdf325fb4
GPU: Add swapchain dimension out params ( #11003 )
2024-09-30 10:23:19 -07:00
cosmonaut
de40d6bae0
GPU Metal: Set texture to NULL even if AcquireSwapchainTexture fails
2024-09-27 13:49:26 -07:00
cosmonaut
eedd2039f9
GPU: 32-bit component texture formats
2024-09-27 16:26:43 -04:00
Evan Hemsley
05d0656bd6
GPU: Simultaneous compute pass read-write ( #10965 )
2024-09-27 12:49:37 -07:00
Caleb Cornett
5ff6e8d522
GPU: Add enable_depth_clip to RasterizerState ( #10964 )
2024-09-27 11:18:54 -05:00
Evan Hemsley
be401dd1e3
GPU: More robust error reporting ( #10958 )
...
---------
Co-authored-by: Ethan Lee <flibitijibibo@gmail.com >
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com >
2024-09-27 00:30:18 -07:00
cosmonaut
557c6dfb18
GPU: call SDL_SetError where appropriate
2024-09-25 10:47:14 -07:00
Caleb Cornett
97d1056e16
GPU: MSAA fixes ( #10917 )
2024-09-21 17:38:10 -05:00
Sam Lantinga
481203c074
Fixed Xcode warnings
2024-09-18 13:20:53 -07:00
Sam Lantinga
8d223b3037
Renamed atomic functions to match SDL 3.0 naming convention
...
This will also allow us to cleanly add atomic operations for other types in the future.
2024-09-17 08:53:27 -07:00
Caleb Cornett
9416917353
GPU: Rework MSAA ( #10859 )
2024-09-16 12:19:09 -05:00
Caleb Cornett
4f722d372a
GPU: Metal vertex buffer indices should grow upward ( #10837 )
2024-09-15 20:17:43 -05:00
Ethan Lee
96e147b2b9
gpu: Rework driver name queries, add GetGPUShaderFormats
2024-09-13 12:29:40 -04:00
Caleb Cornett
a45a2caf49
GPU: Rename VertexBinding to VertexBufferDescription ( #10811 )
2024-09-12 18:02:39 -05:00
Evan Hemsley
66489f91bb
GPU: Cube Arrays ( #10800 )
...
---------
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com >
2024-09-12 13:41:46 -07:00
Caleb Cornett
ddd5723e2e
GPU: Remove pitch parameters from indirect draw calls ( #10803 )
2024-09-11 23:30:14 -07:00
Evan Hemsley
2b8a349b26
Add SDL_BindGPUComputeSamplers ( #10778 )
...
---------
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com >
2024-09-10 19:20:14 -07:00
Evan Hemsley
0b6f993dea
GPU: Zero-init handling ( #10786 )
2024-09-10 18:17:08 -07:00
Andrei Alexeyev
1e9ff723ad
GPU: fix SDL_GetGPUSwapchainTextureFormat error return value
2024-09-10 08:36:57 -07:00
cosmonaut
d3091b9538
Remove SDL_GPUDepthStencilValue struct
2024-09-09 10:55:05 -07:00
Evan Hemsley
668e2f82d2
Add load op and clear color to SDL_BlitGPUTexture ( #10767 )
2024-09-09 10:19:52 -07:00
Evan Hemsley
68a9991ec9
GPU: Document structs ( #10742 )
2024-09-07 08:29:14 -07:00
Daniel Ludwig
0a44ea1b0b
Amend use of non-standard compiler syntax
2024-09-07 11:50:40 +03:00
Caleb Cornett
9730f62e8c
GPU: Rename struct members and parameters for SDL3 naming conventions ( #10730 )
...
---------
Co-authored-by: Evan Hemsley <2342303+thatcosmonaut@users.noreply.github.com >
2024-09-06 16:38:23 -07:00
Sam Lantinga
8edb901724
Fixed crashes in Metal renderer due to ARC releasing references on random memory in newly allocated structs
2024-09-05 19:48:33 -07:00
Caleb Cornett
2d4eb29c37
Add SDL_SetGPUBlendConstants, SDL_SetGPUStencilReference ( #10704 )
2024-09-05 17:41:23 -05:00
Sam Lantinga
387774ab8a
Build config flags are either defined or undefined, never 0
...
This is for consistency with CMake build configuration
Also added SDL_VIDEO_RENDER_GPU to the non-CMake build configurations
2024-09-05 09:52:40 -07:00
Quinn X. J.
f61d4db39a
GPU: colorAttachmentDescriptions should be const
...
The `colorAttachmentDescriptions` field of `SDL_GPUGraphicsPipelineAttachmentInfo` should be marked `const`,
similarly to the `vertexBindings` and `vertexAttributes` fields of `SDL_GPUVertexInputState`.
2024-09-05 05:22:52 -07:00
Evan Hemsley
1788be8547
GPU: Add const to some function parameters ( #10694 )
2024-09-04 13:53:41 -07:00
Andrei Alexeyev
fb7245fb93
GPU: Add support for more texture formats ( #10641 )
2024-09-02 19:14:48 -05:00
Caleb Cornett
f405def691
Change GPU flag enums to defines ( #10681 )
2024-09-02 15:19:43 -07:00
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
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
Jan Sedivy
00708b976a
GPU Metal: Fix uninitialized memory
2024-08-31 07:29:32 -07:00
Evan Hemsley
12ecdb9dde
GPU: Rename some awkwardly named functions ( #10642 )
2024-08-30 15:31:10 -07:00
Sam Lantinga
5518aca054
Use stdbool internally in SDL
2024-08-29 18:54:05 -07:00