|
f2a2d0c6
|
2021-02-15T22:56:20
|
|
SDL_render_d3d.c: fix build with SDL_LEAN_AND_MEAN
|
|
9b9d0d48
|
2021-02-15T11:49:09
|
|
mac/iOS: allow Metal in windows created without an explicit backend
Fixes SDL_CreateWindowAndRenderer (and similar situations) not choosing a Metal backend. See #3991.
Passing an explicit backend into CreateWindow, eg SDL_WINDOW_OPENGL or SDL_WINDOW_METAL, will still prevent the window from being used with other backend types.
|
|
69e9b2ac
|
2021-02-01T22:35:46
|
|
Fixed bug 5471 - Creating a fullscreen desktop window goes windowed temporarily
This is caused by the Metal renderer recreating the window because by default we create an OpenGL window on macOS.
It turns out that at least on macOS 10.15, a window that has been initialized for OpenGL can also be used with Metal. So we'll skip recreating the window in that case.
|
|
dc0ec827
|
2021-01-29T13:38:39
|
|
Remove old YUV fixme
|
|
70b353d1
|
2021-01-27T10:54:49
|
|
SDL_Update{YUV,NV}Texture: also intersect rect with texture dimension
|
|
13626c36
|
2021-01-27T10:20:13
|
|
SDL_UpdateTexture: intersect update rect with texture dimension
- fix crash with software renderer
- fix non texture update with opengl/gles2
|
|
1e5f0073
|
2021-01-27T10:58:36
|
|
Fixed building with mingw64
|
|
de85d612
|
2021-01-25T20:51:47
|
|
Fixed bug 5497 - SDL_COMPOSE_ERROR is wrong
UMU
#define SDL_COMPOSE_ERROR(str) SDL_STRINGIFY_ARG(__FUNCTION__) ", " str
I think SDL_STRINGIFY_ARG should be removed.
#define SDL_COMPOSE_ERROR(str) __FUNCTION__ ", " str
(verified with Visual Studio 2019)
|
|
f40551c5
|
2021-01-25T22:17:11
|
|
GLES2 SDL_Renderer: remove old ZUNE_HD defines and simplify shader cache
|
|
b99543b6
|
2021-01-11T20:40:11
|
|
opengl: More work on making line drawing match software renderer.
|
|
958e5d5b
|
2021-01-11T10:01:24
|
|
SDL_UpdateNVTexture: fixed pitch/bpp for GLES2 (bug #5430)
|
|
b94718e0
|
2021-01-09T21:22:21
|
|
SDL_UpdateNVTexture: for D3D11, same notation as SDL_UpdateTexture (bug #5430)
|
|
57a5c453
|
2021-01-05T22:06:51
|
|
Fix D3D11 UpdateTextureNV in non fullscreen (bug #5430)
|
|
fc61ecb2
|
2021-01-05T21:54:03
|
|
Fix software UpdateNVTexture non fullscreen (bug #5430)
|
|
204ef3b5
|
2021-01-05T20:38:31
|
|
Fix D3D11 UpdateNVTexture (bug #5430)
|
|
c0df40e0
|
2021-01-05T17:39:48
|
|
Add more SDL_HAVE_YUV defines
|
|
b0325041
|
2021-01-05T12:36:34
|
|
Fix unused variable warning on METAL (see bug #5430)
|
|
c1eb9ecf
|
2021-01-05T12:29:43
|
|
Add SDL_UpdateNVTexture for META (bug #5430)
(not tested)
|
|
73d93dbc
|
2021-01-05T12:20:02
|
|
Fix compilation on Window10 (see bug #5430)
|
|
df6b8131
|
2021-01-05T12:16:32
|
|
Fix compilation (implicit declaration of function) (see bug #5430)
|
|
d1f031c8
|
2021-01-05T12:08:16
|
|
Add SDL_UpdateNVTexture for d3d11 (bug #5430)
(not tested)
|
|
f5eba2cc
|
2021-01-05T12:00:54
|
|
Fixed invalid read in yuv_rgb_sse() (see bug #5430)
|
|
be4cfd51
|
2021-01-05T11:56:22
|
|
Add SDL_UpdateNVTexture() to update NV12/21 Texture (bug #5430)
for renderer software, opengl, and opengles2
|
|
393c8c1f
|
2021-01-03T10:32:55
|
|
Fixed bug 5440 - MacCatalyst build failures
C.W. Betts
I tested building commit http://hg.libsdl.org/SDL/rev/7adf3fdc19f3 on Mac Catalyst and found some issues:
* MTLFeatureSet_iOS_* enums aren't available under Mac Catalyst.
* OpenGL ES is unavailable under Mac Catalyst.
* Some Metal features are available under Catalyst but not iOS, such as displaySyncEnabled.
* Set Metal as the default renderer on Mac Catalyst
Attaching a patch that will make SDL2 build for Mac Catalyst.
|
|
9130f7c3
|
2021-01-02T10:25:38
|
|
Updated copyright for 2021
|
|
3edf337d
|
2021-01-02T17:29:34
|
|
Simplify RenderGetViewportSize
|
|
2af765da
|
2021-01-02T17:18:13
|
|
SDL_RenderGetViewportF: only need the size of viewport (see bug #5424)
|
|
41597249
|
2021-01-02T16:15:22
|
|
SDL_RenderGetViewportF: remove debug messages
|
|
8c48c423
|
2021-01-02T16:12:30
|
|
Add SDL_RenderGetViewportF: fix lost of precision while scaling (see bug #5424)
|
|
223af86c
|
2021-01-01T11:12:30
|
|
Added SDL_RenderGetD3D11Device() to get access to the device associated with the D3D11 renderer
|
|
5f0b2a7f
|
2021-01-01T11:12:22
|
|
Fixed resource leak with D3D11 NV12 textures
|
|
590a5469
|
2020-12-30T16:12:14
|
|
Fixed bug 5424 - Renderer doesn't use entirely the viewport when scaling is used
Viewport/Clip dimensions are calculated usingg SDL_ceil whereas all renders use SDL_floor
|
|
5dabc4d7
|
2020-12-28T18:17:25
|
|
Revert changeset 14590 544ac819e8b3 , does not fully fix
|
|
9efdafd4
|
2020-12-28T18:07:03
|
|
SDL_RenderCopy: scale before doing intersection
this prevents drawing 1 pixel outside the screen, in letterbox mode
|
|
f9b5f6cc
|
2020-12-27T20:28:24
|
|
Forward scale mode to SW renderer (Bug 5313)
|
|
7fa5e95b
|
2020-12-09T07:23:47
|
|
Fixed bug 5213 - Add support to metal in iOS/tvOS simulator
Vincent Hamm
Xcode11 and ios13 added support for metal simulator.
Here is a quick and dirty patch to enable it. Pretty early and only tested on a few samples for now. Required mostly to enable metal support on correct version of ios, generate simulator compatible shaders and enforce buffer alignments on simulator (same as osx).
|
|
cb361896
|
2020-12-09T07:16:22
|
|
Fixed bug 5235 - All internal sources should include SDL_assert.h
Ryan C. Gordon
We should really stick this in SDL_internal.h or something so it's always available.
|
|
88cb4962
|
2020-12-09T06:42:31
|
|
Fixed bug 5291 - SDL_SetRenderTarget unnecessarily changes target when current target is the native texture of the passed in texture
|
|
754286c6
|
2020-12-02T13:45:24
|
|
SDL Renderer: specify the correct flag when recreating the window
|
|
0e4ce848
|
2020-11-08T20:57:17
|
|
opengl: Make diagonal lines match the software renderer.
OpenGL leaves the final line segment open, SDL's software renderer does not,
so we need a tiny bit of trigonometry here to move one more pixel in the right
direction.
|
|
da49f795
|
2020-11-08T19:56:12
|
|
opengles: use glDrawArrays() correctly with GL_LINE_STRIP.
|
|
93a2c58c
|
2020-11-08T12:37:09
|
|
opengl: Use GL_LINE_STRIP instead of breaking down into seperate GL_LINES.
Surely GL drivers have improved in the last seven years. I hope...?
|
|
731a5d1c
|
2020-11-08T03:18:05
|
|
metal: Fix line drawing, again.
|
|
ba36eb04
|
2020-10-21T00:03:33
|
|
metal: Make line drawing match software renderer.
Partially fixes Bugzilla #2711.
|
|
c33f8083
|
2020-10-20T11:12:49
|
|
render: Restoring line rendering fixes that were previously put on hold.
(Backed out hg changeset 7a4240daba46)
|
|
061256a3
|
2020-10-07T14:45:24
|
|
metal: Clear the framebuffer if presenting without any other operations.
|
|
a720d1a2
|
2020-08-09T00:55:39
|
|
render: fixes to how we convert touch events for logical scaling.
We now handle HiDPI correctly, and touches are clamped to the viewport. So
if you are rendering to a logical 640x480 in a 720p window, and touch the
letterboxing at point (640,700), it will report the touch at (0.5,1.0) instead
of outside the documented range.
|
|
b7a4fdd3
|
2020-07-17T11:16:35
|
|
metal: Make sure we have a command buffer available before trying to present.
This fixes a case where you render to the backbuffer, then render to a render
target, set the current target back to the backbuffer, and then present
without drawing anything else; in this circumstance, the Present command
would never happen.
Fixes Bugzilla #5011.
|
|
15294e21
|
2020-05-26T13:54:47
|
|
Fixed iOS build
|
|
f16e6bfa
|
2020-05-25T14:10:51
|
|
Fixed creating a metal renderer without specifying a metal window
|
|
39690a04
|
2020-05-15T21:33:47
|
|
Fix static analysis warning in SDL_render.c
|
|
a96d8a43
|
2020-04-13T22:05:36
|
|
render: Fixed compiler warning about implicit cast.
|
|
aa188048
|
2020-04-10T12:23:08
|
|
render: Scale relative mouse motion better for logical sizing
From hmk:
"When scaling is enabled (e.g. via SDL_RenderSetLogicalSize, size not equal
to window size), mouse motion events are also scaled. Small motions are
rounded up (SDL_max() when the value after scaling is less than 1), while
larger motions are truncated by the floating point -> integer conversion.
https://hg.libsdl.org/SDL/file/b18197f9bf9d/src/render/SDL_render.c#l658
The end result feels something like mouse reverse mouse acceleration + angle
snapping at low speeds, but less consistent (amount of truncation & rounding
depends on how fast the mouse is moved) and potentially much worse if the
scaling factor is large. This pretty much makes it useless for anything
where you need precise mouse aiming (think of games). I suspect this is why
aiming gets so terrible in some games that let you use scaling to reduce the
render resolution (e.g. Ion Fury).
With 4x4 scaling, I can reproduce a situation where it takes three fast flicks
of the mouse across the pad to undo one slow sweep across the pad. In other
words, extreme reverse acceleration. This does not happen when scaling is
disabled.
Furthermore, any game that uses relative mouse motion events for 3D camera
rotation probably wants the raw mouse deltas and not a value that depends on
scaling and resolution and rounding and truncation. Ideal camera rotation
just takes mouse input, multiplies it by sensitivity, and adds it to the
angle-in-radians or whatever measure is used for yaw & pitch. Pixels and
screen resolution or window dimensions should not be a part of the equation
at all, even if it could be implemented without rounding errors.
[...]
This [patch] completely eliminates angle snapping for me, and makes
sensitivity consistent. In other words, it's completely usable for, say,
aiming in a first person shooter."
Partially fixes Bugzilla #4811.
|
|
b6afbe63
|
2020-04-07T09:38:57
|
|
Added SDL_log.h to SDL_internal.h so logging is available everywhere
|
|
d4b561f4
|
2020-04-05T08:58:47
|
|
Fixed bug 5015 - SDL_RenderReadPixels on DirectX 11.1 backend seems to be broken
Konrad
It appears that I cannot use SDL_RenderReadPixels on a bound framebuffer (SDL_Texture set as render target) as it simply results in gibberish data. However, drawing that framebuffer into the default target (window surface) does render it correctly. Other backends (OpenGL, software, Direct3D) do work fine.
It looks to me like D3D11_RenderReadPixels just gets the general backbuffer and not the current render target and its backbuffer.
Here is the patch which actually fetches the current render target and its underlying ID3D11Resource which is ID3D11Texture2D.
|
|
19a5f4ab
|
2020-03-22T14:32:47
|
|
opengl: Don't enable/disable texturing except when actually rendering.
Otherwise our cached state goes out of sync when updating a texture. Since
these state changes aren't necessary, they were removed instead of updating
the cached state.
Fixes Bugzilla #4998.
|
|
e6189f40
|
2020-03-17T15:47:30
|
|
Fix warnining implicit declaration of SDL_DetectPalette (Thanks meyraud705)
|
|
838bbf1f
|
2020-03-17T09:35:42
|
|
Fixed bug 5037 - Regression 2.0.12 Alpha value of 0 on palette may become opaque
(see also bug 3827)
|
|
c8c05a9f
|
2020-03-08T19:23:21
|
|
Fixed bug 4991 - Pixel shader problem when recreating a texture for direct3d renderer
cmediaplayer
Hi, i already mentioned in the SDL discourse a bug that recreating of a texture occours pixel shader problem on direct3d renderer. There is no problem for direct3d11. You can see the issue by using my app named C Media Player which is available for Windows for free using my web site www.cmediaplayer.com. Just follow the steps:
*Open a media file
*When playing the file change the scale quality under the video menu.
*You will see the problem.
|
|
367a3561
|
2020-03-08T18:56:07
|
|
Don't release the backbuffer on error, we didn't acquire it.
|
|
e152a3ce
|
2020-03-07T13:59:42
|
|
direct3d: Don't attempt to create zero sized vertex buffer
|
|
9a7c2b22
|
2020-02-23T09:59:52
|
|
Fixed bug 4999 - Palette surface always promoted to alpha (Thanks Cameron Gutman!)
MSVC Static analysis: Incorrect alpha_value check in SDL_render.c
(see also bug 4425)
|
|
93b26f17
|
2020-02-17T16:15:04
|
|
opengl: Backed out hg changeset 94f9f40a957f
This is the OpenGL line drawing fix for Bugzilla #3182, but there's some
disagreement about what the renderers should do here, so I'm backing this out
until after 2.0.12 ships, and then we'll reevaluate all the renderer backends
to decide what's correct, and make them all work the same.
|
|
6ec14b7f
|
2020-02-11T16:23:43
|
|
Fixed iOS and Android build
|
|
ed10d947
|
2020-02-10T12:53:54
|
|
opengl: Build out full GL_LINES and respect the diamond-exit rule.
Likewise for the GLES1 and GLES2 renderers.
This solves the missing pixel at the end of a line and removes all the
heuristics for various platforms/drivers. It's possible we could still use
GL_LINE_STRIP with this and save some vertex buffer space, assuming this
doesn't upset some driver somewhere, but this seems to be a clean fix that
makes the GL renderers match the software renderer output.
Diamond-exit rule explanation:
http://graphics-software-engineer.blogspot.com/2012/04/rasterization-rules.html
Fixes Bugzilla #3182.
|
|
13155b35
|
2020-02-10T09:42:53
|
|
The scissor rect needs to be updated when the viewport changes in the Metal renderer
|
|
b5849daf
|
2020-02-01T09:23:04
|
|
Fixed build warnings on Android
|
|
b5e3d264
|
2020-01-23T01:00:52
|
|
Added a single SDL_LEAN_AND_MEAN define to turn on minimal SDL builds
Protected more code with #ifdefs to reduce the size of minimal shared library builds
|
|
7df22cf2
|
2020-01-21T21:33:40
|
|
A few #defines to reduce SDL2 footprint.
Only applied when library is statically linked
|
|
a8780c6a
|
2020-01-16T20:49:25
|
|
Updated copyright date for 2020
|
|
981e0d36
|
2020-01-16T08:52:59
|
|
Fixed bug 4903 - Lack of color multiply with alpha (SDL_BLENDMODE_MOD + SDL_BLENDMODE_BLEND) blending mode for all renderers
Konrad
This kind of blending is rather quite useful and in my opinion should be available for all renderers. I do need it myself, but since I didn't want to use a custom blending mode which is supported only by certain renderers (e.g. not in software which is quite important for me) I did write implementation of SDL_BLENDMODE_MUL for all renderers altogether.
SDL_BLENDMODE_MUL implements following equation:
dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA))
dstA = (srcA * dstA) + (dstA * (1-srcA))
Background:
https://i.imgur.com/UsYhydP.png
Blended texture:
https://i.imgur.com/0juXQcV.png
Result for SDL_BLENDMODE_MOD:
https://i.imgur.com/wgNSgUl.png
Result for SDL_BLENDMODE_MUL:
https://i.imgur.com/Veokzim.png
I think I did cover all possibilities within included patch, but I didn't write any tests for SDL_BLENDMODE_MUL, so it would be lovely if someone could do it.
|
|
ef3ca2cc
|
2019-12-23T19:55:10
|
|
Fix build error in SDL_render_metal.m (bug #4916.)
Patch provided by Konrad. Error was introduced by commit 522164980828 for bug #4914.
|
|
6d639fce
|
2019-12-23T16:47:00
|
|
SDL_ScaleMode: fix compilation GLES renderer
|
|
131e13a7
|
2019-12-22T20:48:43
|
|
direct3d11: Always set vertex buffers when updating them (thanks, Konrad!).
Fixes Bugzilla #4913.
|
|
5e19e66c
|
2019-12-22T13:39:44
|
|
Fixed bug 4914 - Expose SDL_ScaleMode and add SDL_SetTextureScaleMode/SDL_GetTextureScaleMode
Konrad
This was something rather trivial to add, but asked at least several times before (I did google about it as well).
It should be possible to dynamically change scaling mode of the texture. It is actually trivial task, but until now it was only possible with a hint before creating a texture.
I needed it for my game as well, so I took the liberty of writing it myself.
This patch adds following functions:
SDL_SetTextureScaleMode(SDL_Texture * texture, SDL_ScaleMode scaleMode);
SDL_GetTextureScaleMode(SDL_Texture * texture, SDL_ScaleMode *scaleMode);
That way you can change texture scaling on the fly.
|
|
7b08eb48
|
2019-12-03T03:07:34
|
|
direct3d11: Fixed incorrect texture coordinates (thanks, Martin!).
Fixes Bugzilla #4860.
|
|
9e509e4a
|
2019-10-30T16:45:53
|
|
SDL_render_gles2: remove ineffective widening cast
warning: either cast from 'int' to 'size_t' (aka 'unsigned long') is ineffective, or there is loss of precision before the conversion [bugprone-misplaced-widening-cast]
|
|
60d3965e
|
2019-10-30T15:36:17
|
|
Readability: remove redundant return, continue, enum declaration
|
|
a9b867ab
|
2019-10-26T14:39:50
|
|
macOS Fix potential memory leaks in the Metal renderer caught by clang's static analyzer.
|
|
1ce1364b
|
2019-10-26T12:56:18
|
|
d3d11: Don't fail if there's no vertex data to upload (thanks, Martin!).
Fixes Bugzilla #4832.
|
|
216f5b98
|
2019-10-17T18:48:58
|
|
metal: Fix compilation when using older Apple SDKs (bug #4828).
|
|
fe20c35b
|
2019-10-14T16:40:46
|
|
Fixed race condition when scaling Touch events, and changing the renderer
target.
Always read the output size of the main renderer.
(similar to bug 2107)
|
|
72660a51
|
2019-10-13T20:52:52
|
|
Fixed bug 4825 - SDL Renderer OpenGL: Buffer overflow (SDL_RENDERCMD_DRAW_LINES)
|
|
7d47f526
|
2019-10-01T09:26:30
|
|
SDL_LockTextureToSurface: robustness of locked region compared to texture size
|
|
0918903f
|
2019-09-30T22:54:16
|
|
render: add a hint for toggling relative scaling
Fixes Bugzilla #4811.
|
|
1ae61f10
|
2019-09-30T20:58:44
|
|
Added a helper function SDL_LockTextureToSurface()
Similar to SDL_LockTexture(), except the locked area is exposed as a SDL surface.
|
|
847bd8d9
|
2019-09-02T00:11:58
|
|
direct3d: Be more aggressive about resetting state when textures go away.
Fixes Bugzilla #4768.
|
|
a3804ba1
|
2019-09-01T22:41:44
|
|
d3d11: Fixed VB state, avoiding unnecessary recreation (Thanks, Alex!).
Fixes Bugzilla #4779.
|
|
0c263738
|
2019-08-26T18:49:04
|
|
gl/gles/gles2 render: fix SDL_RenderClear being affected by the clip rect in some situations.
|
|
bfdb0e97
|
2019-08-18T10:38:32
|
|
metal renderer: optimize SDL_RenderFillRect slightly.
|
|
ff7888e6
|
2019-08-18T09:35:11
|
|
render: fix colors not being set properly after the previous change
|
|
1be03b40
|
2019-08-17T22:26:33
|
|
render: avoid a couple redundant memcmp calls in all drawing functions. Improves performance slightly.
|
|
e8278d0d
|
2019-08-17T16:53:08
|
|
metal renderer: use vertex attributes instead of indexing into a buffer with the vertex id in the shader. Allows for more flexibility with vertex setup in the future.
Also optimize vertex buffer binding slightly.
|
|
55a46abf
|
2019-08-17T01:09:30
|
|
metal renderer: more closely match buffer data alignment requirements from the metal specification.
|
|
69c6924c
|
2019-08-17T00:43:44
|
|
render: simplify vertex and uniform data allocation. Improves performance of various SDL_Render functions (bug #4764).
|
|
e5acccc7
|
2019-08-17T00:37:22
|
|
metal renderer: use the device address space instead of the constant address space for colors.
It doesn't negatively impact GPU performance in my tests, and it removes the need for 256 byte memory alignment of color data on macOS.
|
|
3fb5cabe
|
2019-08-16T22:13:30
|
|
metal: Update compiled shaders based on compilation script changes
|
|
9e57e3e5
|
2019-08-16T22:11:50
|
|
metal: Update shader compilation script with fixes for newer xcode versions and for running on older platforms
|
|
aebaa316
|
2019-08-05T12:35:32
|
|
Add public APIs for creating a Metal view attached to an SDL window. Add SDL_metal.h.
|
|
22a2decf
|
2019-06-28T16:38:42
|
|
Android: concurrency issues, make sure Activity is in running State when calling
functions like SDL_CreateWindow, SDL_CreateRenderer, Android_GLES_CreateContext
Bugs 4694, 4681, 4142
|