src/render


Log

Author Commit Date CI Message
zhailiangliang 00b67f55 2022-09-21T10:30:38 Fix potential memory leak in GLES_CreateTexture
Sam Lantinga 82b40f09 2022-09-16T09:55:20 Fixed runaway CPU usage in the metal renderer when the window is minimized
Sam Lantinga e2753e19 2022-09-15T08:02:14 Calculate simulated vsync interval based on display refresh rate
Sam Lantinga 208964f0 2022-09-15T07:05:55 Reset the simulated vsync presentation timeline if it's been too long since the last present
Sam Lantinga 1663cb41 2022-09-15T06:30:19 Reset simulated presentation timeline when vsync status changes
Sam Lantinga d744aafb 2022-09-15T01:00:12 Added support for simulated vsync in the renderer This kicks in if the platform doesn't support vsync directly, or if the present fails for some reason (e.g. minimized on some platforms) Fixes https://github.com/libsdl-org/SDL/issues/5134
Ozkan Sezer c23fb235 2022-09-16T17:20:56 SDL_render_d3d12.c: Fix uninitialized warning for CreateEventExFunc
Sam Lantinga 5bc85d67 2022-09-16T06:15:45 Only advertise the SDL_PIXELFORMAT_EXTERNAL_OES format if we can build the shader for it
Sam Lantinga 2970710b 2022-09-15T07:41:29 Pretty print shaders for debugging purposes
Sam Lantinga bc57d3e3 2022-09-15T06:57:41 Fixed OpenGL ES shader compilation on Linux
Sam Lantinga 8a15a738 2022-09-15T06:21:19 Fixed uninitialized variable warning
Sam Lantinga b5102a55 2022-09-14T08:03:46 Fixed OpenGLES shaders failing after renderer has been created Cache all the shaders up front, so we can verify that they won't silently fail at runtime. If compiling the fragment shaders with the precision hint fails, try again without specifying precision. Fixes https://github.com/libsdl-org/SDL/issues/6166 Fixes https://github.com/libsdl-org/SDL/issues/6174
Amir 7f415ce5 2022-09-12T20:09:00 android: fix some compiler warnings
Sylvain 90a480a1 2022-09-08T05:44:39 Fixed bug #6199 - Broken clip behaviour on a render target (metal)
Sam Lantinga 29f4a5ba 2022-09-06T15:55:27 Add GLES2 shader prologue infrastructure. (by @eloj) There is supposedly an OpenGL ES2 target that does not support precision specifiers. However, the existing logic to detect this is currently broken in two ways: 1) There's a typo of the `#ifdef` as `#if`. 2) Checking for `GL_FRAGMENT_PRECISION_HIGH` can not be the correct way to detect this platform. Other targets, including some desktops, will also not have this defined (for various reasons). Because some of the shader code is missing precision specifiers, and because a default is ONLY provided if `GL_FRAGMENT_PRECISION_HIGH` is set, these other targets break. Instead of 'hard-coding' the prologue string into shaders in the C source, use our ability to provide a list of strings to `glShaderSource` instead, leaving the determination to run-time. This commit closes https://github.com/libsdl-org/SDL/pull/6182
Sam Lantinga 4fd6bba2 2022-09-06T12:29:42 Refactored for similarity to surrounding code
Cameron Cawley 10e1ef00 2022-09-06T11:21:57 Fix compatibility with Windows XP
Francisco Javier Trujillo Mata f1e46858 2022-08-26T17:58:59 Adding specific SDL_Hint for the dynamic VSYNC
Noel Berry 00452e47 2022-08-24T11:25:13 Adding SDL_GetWindowSizeInPixels for window size in pixels (#6112)
Sam Lantinga 50c5d23f 2022-08-23T07:42:48 Round coordinates so very small floating point values don't turn into 0x80000000 e.g. SDL_RenderDrawLineF(renderer, -1e20, -1e20, 10, 10); Fixes https://github.com/libsdl-org/SDL/issues/6116
Cameron Cawley 09b6956d 2022-08-16T15:08:10 opengl: Support NV12 textures on GPUs with only 2 texture units
Francisco Javier Trujillo Mata 7d5ccae2 2022-08-14T12:15:55 Fix memory leak when destroying texture
Sam Lantinga cb46e1b3 2022-08-12T20:51:44 Removed unused variable
Ethan Lee a28f426a 2022-08-12T16:13:24 render: Only update size/scale/viewport when moving to a new display, rather than all window movement. We really only care about DPI changes here, so this both reduces work and also avoids weird cases where viewport state can be corrupted by trivial window events. This doesn't _completely_ get rid of the issue but this is somewhat intentional, since apps will definitely want to do a full reset when changing displays anyhow (otherwise DPI/adapter changes will screw things up, and that's out of our control as long as both window size and drawable size are exposed at the same time. Note that OpenGL still captures window events because of weird platform-specific issues like macOS and viewport stretching! Fixes #5949
Francisco Javier Trujillo Mata 20f9a1b8 2022-08-08T17:23:43 Implement SetTextureScaleMode
Francisco Javier Trujillo Mata fbb440d1 2022-08-06T18:10:54 Invalidate texture in the UnlockTextureMethod
Sam Lantinga 5858c7df 2022-08-05T16:17:10 Fixed OpenGL ES Shaders for systems that don't understand precision keywords
Francisco Javier Trujillo Mata 944111db 2022-08-02T18:47:39 Cleaning up video driver
Francisco Javier Trujillo Mata 83c11797 2022-08-01T12:23:58 Adding SetViewPortCommand
Francisco Javier Trujillo Mata a9f4cda3 2022-08-01T12:13:28 Adding setcliprect command
Francisco Javier Trujillo Mata fb1a205e 2022-08-01T11:44:05 Implement blend modes
Francisco Javier Trujillo Mata 075f9016 2022-08-01T11:43:50 Remove some unnecessary comments
Francisco Javier Trujillo Mata ed301b12 2022-08-01T11:43:35 Updating supported format
Francisco Javier Trujillo Mata 1d1965b6 2022-07-18T12:34:17 Removing the BGR_888 from texture supported
Francisco Javier Trujillo Mata f75c35c0 2022-07-12T23:01:28 Add invalidate texture when it changes
Daniel Santos 5bb965be 2022-07-08T15:47:33 Implement RenderLines
Francisco Javier Trujillo Mata 0f0e5b44 2022-07-08T17:47:19 Increase size of pool for gsKit events
Francisco Javier Trujillo Mata f758cad8 2022-07-08T13:14:40 Remove non needed FillRects function
Daniel Santos 3cb124b9 2022-07-07T15:00:15 Implement RenderPoints
Daniel Santos df6ebc25 2022-07-07T14:10:37 Implement FillRect
Daniel Santos a152e467 2022-07-07T12:09:12 Fix "implicit declaration" with memalign
Daniel Santos 33cbf9ac 2022-07-07T12:03:46 Fix some mixed declaration warnings
Daniel Santos acf48f14 2022-07-07T11:37:20 Vertex pointer revision Now triangles are fully working
Daniel Santos 72618044 2022-07-07T10:36:48 Add textured triangle prim
Francisco Javier Trujillo Mata 2a70d492 2022-07-07T16:42:42 Destroy texture properly
Daniel Santos 7b0486d4 2022-07-07T09:33:36 Try triangles
Daniel Santos d5305ee0 2022-07-07T08:48:25 Do properly color assign
Daniel Santos b48c74a3 2022-07-07T08:24:46 Add GeometryQueue
Francisco Javier Trujillo Mata 3bfc8f55 2022-07-04T23:54:13 Removing some of the QueueCopy functions because they are legacy
Francisco Javier Trujillo Mata be1219bd 2022-07-04T23:35:25 Implement setDrawColor
Francisco Javier Trujillo Mata f1699ce7 2022-06-23T23:45:04 Implementing Clear command and texture Update
Francisco Javier Trujillo Mata c472b8dd 2022-07-04T13:23:06 Whole clean around render and video driver
Daniel Santos cdf89fde 2022-07-04T04:09:55 Add triangle prim support Improve line support Add initial texture support
Francisco Javier Trujillo Mata 88e64f9a 2022-07-03T23:29:25 Add natively supported colors
Daniel Santos 90e0e5c2 2022-06-30T19:50:22 Add point, line and rect support
Daniel Santos 147a71b9 2022-06-30T12:57:37 Finish dummy driver
Daniel Santos 2660449c 2022-06-30T11:44:35 Add dummy driver
slime 65647b34 2022-07-22T22:07:52 SDL_Render: use high precision texcoords in ES2 shaders, when possible Fixes #5884
Sam Lantinga b299cb3d 2022-07-17T08:31:16 Added a utility function to calculate the next power of 2 for a value
chalonverse f317d619 2022-07-01T13:59:14 Xbox GDKX support (#5869) * Xbox GDK support (14 squashed commits) * Added basic keyboard testing * Update readme * Code review fixes * Fixed issue where controller add/removal wasn't working (since the device notification events don't work on Xbox, have to use the joystick thread to poll XInput)
chalonverse 4f732197 2022-06-30T00:25:26 Fixed D3D12 renderer not working with batching, and got rid of the vertex buffer size limit
Pierre Wendling 6c536afd 2022-06-27T15:43:17 Fix C89 declaration for macOS modules. Since Clang 14, `-Wdeclaration-after-statement` is enforced on every standard.
chalonverse 3b191580 2022-06-27T17:19:39 Windows GDK Support (#5830) * Added GDK * Simplfied checks in SDL_config_wingdk.h * Added testgdk sample * Added GDK readme * Fixed error in merge of SDL_windows.h * Additional GDK fixes * OpenWatcom should not export _SDL_GDKGetTaskQueue * Formatting fixes * Moved initialization code into SDL_GDKRunApp
Sylvain 314bb5a1 2022-06-27T14:45:14 Fixed bug #5850: Android EGL_BAD_ACCESS because of viewport command while turning the screen off/on.
Ivan Epifanov b2f07d94 2022-06-26T15:53:13 Vita: create rendertarget color surface with same format as texture. Fixes #5844
unknown ebe4f47f 2022-06-26T19:04:25 Fixed __VA_ARGS__ in gcc when no args
unknown 51c6488f 2022-06-26T18:47:34 Add support for SDL_render_d3d12.c to compile in C++ mode
Sam Lantinga adc68758 2022-06-17T10:22:28 Added SDL_copyp to avoid size mismatch when copying values (thanks @1bsyl!) Closes https://github.com/libsdl-org/SDL/pull/5811
Sam Lantinga 1eb247fa 2022-06-16T15:44:18 Fixed building D3D12 renderer with latest mingw-64
Ozkan Sezer 960b86dc 2022-06-14T01:56:40 update SDL_render_d3d12.c after DPI scaling/highdpi support patch. See https://github.com/libsdl-org/SDL/pull/5778#issuecomment-1153006938
Ryan C. Gordon ded6c22e 2022-06-14T14:09:13 render: Corrected wrong SDL_memcpy() sizes for viewport, cliprect. Fixes #5786.
Eric Wasylishen e09551bc 2022-06-09T02:22:21 Fix WinRT build
Eric Wasylishen ab81a559 2022-06-07T02:01:27 Windows DPI scaling/highdpi support Adds hint "SDL_WINDOWS_DPI_SCALING" which can be set to "1" to change the SDL coordinate system units to be DPI-scaled points, rather than pixels everywhere. This means windows will be appropriately sized, even when created on high-DPI displays with scaling. e.g. requesting a 640x480 window from SDL, on a display with 125% scaling in Windows display settings, will create a window with an 800x600 client area (in pixels). Setting this to "1" implicitly requests process DPI awareness (setting SDL_WINDOWS_DPI_AWARENESS is unnecessary), and forces SDL_WINDOW_ALLOW_HIGHDPI on all windows.
chalonverse 6f69bbc5 2022-06-08T12:38:43 D3D11: Fix SDL_TEXTUREACCESS_TARGET not working if SDL_HAVE_YUV was 0 Added a couple of missing SDL_zeros in CreateTexture
chalonverse 8303c5d0 2022-06-08T12:37:36 Added missing SDL_zero for renderTargetViewDesc
chalonverse 7a335df9 2022-06-07T16:11:25 Updated CMakeLists.txt and configure.asc/script so that it checks for the required Windows SDK version before it enables the d3d12 renderer. Also fixed reported warnings in some builds.
Sylvain 2cc22604 2022-06-07T16:30:01 Fixed bug #5768 - SDL_RenderGeometry's software backend failed to render when texture coordinates are reversed handle flip vertical/horizontal when reconstructing rects from triangles
chalonverse 40828218 2022-06-06T17:42:30 DirectX 12 Renderer (#5761) * DirectX 12 Renderer (27 squashed commits) * Add missing SDL_hidapi.h of merge of SDL.vcxproj.filters * Fixed OpenWatcom build failure * Dynapi fix Co-authored-by: Ryan C. Gordon <icculus@icculus.org>
Sam Lantinga ae2cc29f 2022-06-03T09:44:34 Make sure initial state is set correctly for the D3D renderer Fixes https://github.com/libsdl-org/SDL/issues/5749
Cameron Cawley 9dfa000b 2022-05-18T20:20:03 Initial support for building for Windows with OpenWatcom
Cameron Cawley c8eea020 2022-05-18T21:14:20 Fix C89 build errors in Windows builds
Alex Szpakowski ec8fa577 2022-05-07T21:57:23 macOS: always use Objective-C ARC (automatic ref counting). Change Cocoa SDL_VideoData and SDL_WindowData implementations from C structs to Objective-C objects, since bridging between C and ObjC is easier that way.
Eddy Jansson 9e5cbf03 2022-04-29T22:36:12 Disallow non-positive allocation. Ensure that we're not trying to call SDL_small_alloc() with a count of zero. Transforming the code like this fixes a -Wmaybe-uninitialized warning from GCC 12.0.1
Eddy Jansson 6c2928b4 2022-04-29T19:30:47 Switch uses of MIN() to SDL_min() We're excluding files in src/hidapi to minimize the diff against the upstream project.
Sam Lantinga 981e1e3c 2022-04-23T10:32:40 Fixed logical size synchronization issue on macOS https://discourse.libsdl.org/t/sdl-2-0-22-prerelease/35306/6
Jaylon Gowie d9009388 2022-04-19T14:55:58 SceKernelMemBlockType to unsigned int
Jaylon Gowie 3753a7b1 2022-04-19T14:42:39 Fix recent changes in VitaSDK
Sam Lantinga b9fe6ba0 2022-04-18T13:08:04 Fixed compile warnings
Sylvain 1ede941f 2022-04-18T21:09:48 SDL_render.c: internally change viewport/cliprect type from SDL_FRect to SDL_DRect (double precision). (see bug #5547)
pionere 0adb6701 2022-04-12T09:01:17 avoid NullPointer in SDL_GetRenderTarget
Ethan Lee ba0ba9ef 2022-04-08T01:20:36 direct3d11: Set the swapchain target immediately after creating it. Fixes #4782
Ethan Lee cb816308 2022-04-08T02:21:52 render: Update the size/scale/viewport on moves, in addition to resizes. For OpenGL this means resetting the viewport state shadowing flag too. Fixes #1504
Cameron Cawley 57118fb7 2022-04-02T13:49:50 render: Fix setting the scale mode for non-native textures
Ivan Epifanov 95c0fec5 2022-03-31T12:35:17 Vita: PVROGL: fix indentation and ifdef guards
Jaylon Gowie 8c542a35 2022-03-29T19:08:56 Desktop OpenGL 1.X/2.X PSVita Support
Mathieu Eyraud 1db47d46 2022-03-28T15:39:13 Fix potential memory leak in QueueCmdFillRects
Ivan Epifanov 95ed8313 2022-03-25T15:22:10 Vita: Use preallocated memory pool for textures
Ryan C. Gordon 7bc498d3 2022-03-27T09:12:12 direct3d: Implement missing blend operations. This is only for Direct3D 9; Direct3D 11 already had this implemented. Fixes #5375.
Ivan Epifanov 69d0b6e3 2022-03-25T15:18:39 Vita: Fix NULL-pointer dereference
Ryan C. Gordon 4fe7b2cb 2022-03-24T11:00:43 static analysis: Fixed several complaints from codechecker. There are still some pending Objective-C specific issues. Reference issue #4600.