Commit Graph

50 Commits

Author SHA1 Message Date
GaryOderNichts
c57900ca16
wiiu: Use coreinit atomics / memory barriers 2023-11-08 19:19:37 +00:00
GaryOderNichts
f36cf7c86f
Wii U support
commit 54e4e2d678dc6ff816996716925c00fe92d68371
Author: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
Date:   Mon Feb 1 00:00:11 2021 +0100

    audio/wiiu: don't wait if device is not enabled

commit a407599d6da07faab912878fe8a76e02f5303933
Author: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
Date:   Sun Jan 31 23:59:28 2021 +0100

    audio/wiiu: deregister framecallback before freeing sources

commit 6815956b2b4e8b317e0cc691a05815cea9d323db
Author: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com>
Date:   Sun Aug 30 22:21:17 2020 +0200

    render/wiiu: change origin to the upper left (#63)

commit 87ed1223be7747e077c451b0e0ff8949a552aadb
Author: Sergio Padrino <sergio.padrino@gmail.com>
Date:   Sun Jun 21 10:53:45 2020 +0200

    Add GameController support for the Wii U Gamepad (#59)

commit eb05b491c1
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Apr 23 21:20:23 2020 +1000

    video/wiiu: Don't replace an already running ProcUI

commit e3d2191889
Author: Ash Logan <ash@heyquark.com>
Date:   Sun Jan 5 12:49:02 2020 +1100

    render/wiiu: respect SDL_RENDERER_PRESENTVSYNC

commit a9be38d3a1
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Nov 21 13:52:07 2019 +1100

    cmake: Don't link against stub libraries

commit 71e63524fc
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Nov 21 13:38:45 2019 +1100

    audio/wiiu: Add maps for mono and stereo audio

commit f7568b7d97
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Nov 21 13:01:12 2019 +1100

    joystick/wiiu: Add player index support

commit 26290a65a6
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Thu Oct 17 18:48:51 2019 +0200

    audio/wiiu: FIx right audio channel
    The deinterleaving algorithm ended up overwriting the first half of the right channel buffer

commit 7c235083d0
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Oct 17 18:39:15 2019 +1100

    audio/wiiu: Attempt to make stereo become n-channel (broken)

    This does something odd with the right channel and it sounds wrong

commit d929c75f0b
Author: Ash Logan <ash@heyquark.com>
Date:   Sat Sep 21 22:47:38 2019 +1000

    audio/wiiu: (very) early stereo implementation

    -Remove calculations relying on buffer size instead of sample count
    - Add some temp code to deinterleave on the CPU
    - Add a crap solution - voice_r. Really should be an array of voices,
    gimme some time for that

commit fa6d0c47b8
Author: Ash Logan <ash@heyquark.com>
Date:   Fri Sep 20 23:07:36 2019 +1000

    audio/wiiu: Properly initialise AXVoiceDeviceMixData

    (fixes odd behaviour when surround sound is enabled, hopefully)

commit 0c51093c68
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun May 26 15:46:07 2019 +0200

    Update build instructions

commit 0eaa9070a2
Author: Ash Logan <ash@heyquark.com>
Date:   Sun Mar 24 21:07:14 2019 +1100

    joystick/wiiu: Add support for WPAD/KPAD controllers

commit 776380a70f
Author: Ash Logan <ash@heyquark.com>
Date:   Sun Mar 24 19:04:18 2019 +1100

    joystick/wiiu bugfix: Don't hardcode Gamepad device_index to 0

commit 564c25b52f
Author: Ash Logan <ash@heyquark.com>
Date:   Sun Mar 24 19:01:21 2019 +1100

    joystick/wiiu: Hotplug support (gamepad only)

commit d3c3ee1e98
Author: Ash Logan <ash@heyquark.com>
Date:   Sat May 4 20:35:42 2019 +1000

    big oops: missed a merge conflict on 2.0.9

commit f2e83587ad
Author: Ash Logan <ash@heyquark.com>
Date:   Sun Mar 24 14:55:39 2019 +1100

    cmake: Update SDL_LIBS so pkg-config pulls in needed Cafe libs

commit bf5e9a1cd5
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Tue Mar 19 00:34:06 2019 +0100

    render/wiiu: Fix scaling mode for windowTex

    Previously the driver would always end up using point scaling as the final windows texture scaling mode and thus the screen output

commit 6ba2f62f38
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Mon Mar 18 23:11:18 2019 +0100

    render/wiiu: Allocate normal textures from MEM2

    MEM1 fills up very quickly and soon runs out of space for apps with many textures

commit 14bbb4a0f1
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Mon Mar 18 22:46:17 2019 +0100

    render/wiiu: DestroyRenderer: Wait for the rendering to finish and free texture draw data

commit c349a79696
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Mon Mar 18 22:45:06 2019 +0100

    render/wiiu: Free render data after calling GX2DrawDone

commit fb9cda3712
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Mon Mar 18 22:43:01 2019 +0100

    render/wiiu: Reintroduce check removed with fd92b81 to fix crashes

commit 4388bea3ad
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Mon Mar 18 15:18:29 2019 +0100

    render/wiiu: Fix the remaining graphical glitches!

commit d4f823db47
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Mar 10 01:58:34 2019 +0100

    render/wiiu: Code cleanup

    * Remove unused functions
    * Remove unneeded checks
    * Uniform coding style with the rest of SDL

commit 74a42de67b
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Mar 10 01:06:15 2019 +0100

    render/wiiu: Use WIIU_FreeRenderData in DestroyRenderer

commit 87fbbbec7e
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Mar 10 01:05:18 2019 +0100

    render/wiiu: Update RenderReadPixels to lock the surface and use the correct texture format

commit ceb9f1c096
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Mar 10 00:53:02 2019 +0100

    render/wiiu: Fix compiler warnings

commit 7a02c03542
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Mar 10 00:46:05 2019 +0100

    render/wiiu: Reduce GX2SetContextState calls

    The function takes a fairly long time to complete

commit 7507d2b9a2
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Mar 10 00:40:22 2019 +0100

    render/wiiu: Disable blending for render_scene

commit 7446bdc731
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Mar 10 00:36:38 2019 +0100

    render/wiiu: Implement SetTextureColorMod/SetTextureAlphaMod

commit fcb1d21683
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Mar 10 00:25:10 2019 +0100

    render/wiiu: Use vec* for u_texSize and u_viewSize

commit eba4263f00
Author: Ash Logan <ash@heyquark.com>
Date:   Fri Mar 8 11:41:31 2019 +1100

    render/wiiu: Re-set context state after a clear

    whb does this, so y'know

commit dcb58351f0
Author: Ash Logan <ash@heyquark.com>
Date:   Fri Mar 8 11:23:03 2019 +1100

    render/wiiu: Textures keep their own colour buffers

commit 8c4b5c066e
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Mar 7 22:10:27 2019 +1100

    render/wiiu: Use point scaling by default

    see https://wiki.libsdl.org/SDL_HINT_RENDER_SCALE_QUALITY

commit da762c2f05
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Mar 7 21:59:49 2019 +1100

    video/wiiu: Add support for DRC/TV only windows (#1)

commit f814e40fcf
Author: Kuruyia <Arc13@users.noreply.github.com>
Date:   Sun Mar 3 13:19:55 2019 +0100

    video/wiiu: Add flags to only draw on TV or Gamepad (#1)

commit b6873f94f4
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Feb 1 19:17:33 2019 +0100

    Edit README for the wiiu port

commit d58f563d65
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Thu Jan 24 08:44:37 2019 +0100

    input/wiiu: Clear last_touched after sending touch release event

commit 73ba941733
Author: Ash Logan <ash@heyquark.com>
Date:   Wed Mar 6 19:53:43 2019 +1100

    render/wiiu: Use vec* for FillRects (fixes no-draw bug)

commit 482fa50607
Author: Ash Logan <ash@heyquark.com>
Date:   Wed Mar 6 19:05:58 2019 +1100

    render/wiiu: Fix present position/texcoord confusion

commit 2b640b8e7b
Author: Ash Logan <ash@heyquark.com>
Date:   Wed Mar 6 17:52:57 2019 +1100

    render/wiiu: Respect window sizes

commit b17164d5f6
Author: Ash Logan <ash@heyquark.com>
Date:   Wed Mar 6 15:43:40 2019 +1100

    render/wiiu: Handle window size changes

commit 89013edb6c
Author: Ash Logan <ash@heyquark.com>
Date:   Wed Mar 6 09:17:45 2019 +1100

    render/wiiu: readability - introduce vec* structs for drawing

commit e147fbab72
Author: Ash Logan <ash@heyquark.com>
Date:   Tue Mar 5 22:27:45 2019 +1100

    render/wiiu: Fix resource flags on texture creation

commit 72d34778d6
Author: Ash Logan <ash@heyquark.com>
Date:   Tue Mar 5 22:27:13 2019 +1100

    render/wiiu: Convert RenderData to use GX2RBuffers

commit ca33399a70
Author: Ash Logan <ash@heyquark.com>
Date:   Tue Mar 5 13:07:53 2019 +1100

    render/wiiu: Use GX2R for texture surfaces
    Untested at time of commit, hopefully it works hehe

commit fa157dbcaa
Author: Ash Logan <ash@heyquark.com>
Date:   Tue Mar 5 12:00:41 2019 +1100

    video/wiiu: Remove the last of the emulated framebuffer

commit e713fb41d1
Author: Ash Logan <ash@heyquark.com>
Date:   Wed Feb 20 22:37:39 2019 +1100

    render/wiiu: FLUSH THE CACHE. FLUSH THE CACHE.

commit aebe08cf45
Author: Ash Logan <ash@heyquark.com>
Date:   Wed Feb 20 21:44:15 2019 +1100

    video/wiiu: Call SDL_SetKeyboardFocus on window creation

commit fab05b5179
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Jan 24 17:03:08 2019 +1100

    wiiu: first attempt at using the render driver instead of WindowFramebuffer

commit 5137bdb29f
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Jan 12 19:20:13 2019 +0100

    render/wiiu: Fixup color blending

commit 6824fb4284
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Jan 12 16:30:01 2019 +0100

    render/wiiu: Correct direction of rotation for RenderCopyEx

commit d3ad23e0cd
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Jan 12 16:28:03 2019 +0100

    render/wiiu: Drawing is synchronized with refresh rate

commit e88463592d
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Jan 12 13:08:15 2019 +0100

    Add README.md for the WiiU port

commit 2022692d60
Author: Ash Logan <ash@heyquark.com>
Date:   Sat Jan 12 20:59:50 2019 +1100

    render/wiiu: Add support for color/alpha mod values/some blend modes

commit b0defceb9b
Author: Ash Logan <ash@heyquark.com>
Date:   Sat Jan 12 20:57:21 2019 +1100

    add gitignore (sorry)

commit 4134be1cb8
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Jan 3 20:13:22 2019 +1100

    render/wiiu: don't put debug messages in the released code

commit cbc64b5f3e
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Jan 3 17:04:26 2019 +1100

    render: Add loads of GX2 texture formats

commit dd77800d1c
Author: Ash Logan <ash@heyquark.com>
Date:   Thu Jan 3 13:41:40 2019 +1100

    include: Add extra checks for endian on devkitPPC

commit 3e20fffb49
Author: Ash <ash@heyquark.com>
Date:   Tue Nov 6 21:12:17 2018 +1100

    render/wiiu: Safety checks on SDL_DestroyTexture

commit 6b2e8b9113
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Tue Nov 6 17:55:40 2018 +0100

    wiiu/shaders: Add shader source code + basic regenerate script

commit 94a46ebb35
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Tue Oct 30 22:04:29 2018 +0100

    wiiu: Switch to cmake

commit 9bee9180c2
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Tue Oct 30 21:58:51 2018 +0100

    wiiu/joystick: Updates for the new joystick interfaces

commit 463b9e07e4
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Oct 28 19:41:37 2018 +0100

    wiiu: Updates for newer SDL

commit 37f2ef8682
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Oct 28 14:34:06 2018 +0100

    wiiu: Edit config comment to prevent gcc warning

commit b3e82ffb3f
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Oct 28 14:04:02 2018 +0100

    wiiu/render: Temporaneously disable formats other than RGBA8888 until the cause of bad colors is found

commit ef7d10e54e
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Oct 28 01:05:06 2018 +0200

    wiiu/render: Enable alpha merge/other settings

commit b413dafb06
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Oct 28 00:49:10 2018 +0200

    wiiu: Move coordinates math to shader

commit a7ee3dd532
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Oct 27 21:55:00 2018 +0200

    wiiu/render: Fix final bugs; it partially works now \o/

commit aa08e434c9
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Oct 27 17:48:35 2018 +0200

    wiiu/render: Fix GX2ContextState alignment

commit 0ea992080b
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Oct 27 17:47:37 2018 +0200

    wiiu/video: Add more attributes for texture

commit 769a4dd086
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Oct 27 13:14:18 2018 +0200

    wiiu/render: SDL_GetWindowSurface is needed to create the framebuffer

commit 3798398c51
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Thu Oct 25 17:16:23 2018 +0200

    wiiu: Linking fixes

commit 888d0c5dca
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Wed Oct 24 21:59:02 2018 +0200

    render/wiiu: Fix compiling, implement RenderCopyEx, make some render vars unique for objects, add missing shaders

commit 3cb1ed94bd
Author: Ash <ash@heyquark.com>
Date:   Sun Oct 21 19:45:53 2018 +1100

    render/wiiu: Start fixing up missing headers

commit 57639657db
Author: Ash <ash@heyquark.com>
Date:   Sun Oct 21 19:35:09 2018 +1100

    render: Start compiling the wiiu renderer (lotsa errors)

commit a1fe555cad
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Wed Oct 17 23:05:52 2018 +0200

    wiiu: Add more renderer function, make functions non-static, start adding new shaders

commit d120ddd096
Author: Ash <ash@heyquark.com>
Date:   Wed Oct 17 18:59:58 2018 +1100

    wiiu/render: move drawing functions to own file

commit 273e19c2ce
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Wed Oct 17 00:05:10 2018 +0200

    wiiu/render: Implement UpdateTexture/RenderClear

commit 4fa755d52f
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 15:59:44 2018 +1100

    wiiu/render: Stub UpdateViewport / UpdateClipRect

commit 084e2b9efb
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 15:44:19 2018 +1100

    wiiu/render: Implement SDL_LockTexture and SDL_UnlockTexture

commit a01adf4e00
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 15:33:37 2018 +1100

    wiiu/render: Remove optional SetTextureMod functions

commit e5fae70caf
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 15:33:06 2018 +1100

    wiiu/render: Move texture-related functions to own file

commit 0949442d7a
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 15:14:07 2018 +1100

    wiiu/render: Implement GetOutputSize

commit 03826edb25
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 15:07:29 2018 +1100

    wiiu/render: move window-related functions to own file

commit cea1907155
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 15:00:43 2018 +1100

    wiiu/render: consolidate calls to SetRenderTarget, minor tweaks

commit c337fd57f5
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 14:42:37 2018 +1100

    wiiu/render: Move function sigs and definitions to dedicated header

commit 036b864413
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 14:31:24 2018 +1100

    wiiu/render: Minor formatting, move windowdata to header

commit 72a32e7ed4
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 14:18:31 2018 +1100

    wiiu/video: move window data to header

commit 162447e20b
Author: Ash <ash@heyquark.com>
Date:   Tue Oct 16 14:10:17 2018 +1100

    wiiu: render: Be consistent about tabs/spaces

commit 53fd78a2fb
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Oct 14 22:32:43 2018 +0200

    wiiu: Implement more renderer functions (1)

commit 7850c3e054
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Oct 13 22:37:22 2018 +0200

    wiiu: Start implementing SDL_Renderer

commit 5ab6c7a9d7
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Oct 13 00:04:03 2018 +0200

    wiiu: switch to tpNormal, tpFiltered1 casues scrolling issues

commit 541c794cd2
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Tue Oct 9 20:26:55 2018 +0200

    wiiu: Disable DRC surround mode as it causes distortion

commit 9b21f4847e
Author: Ash <ash@heyquark.com>
Date:   Mon Oct 1 21:23:51 2018 +1000

    video: Respect application's requested window size/position

commit 4846a24b0c
Author: Ash <ash@heyquark.com>
Date:   Mon Oct 1 20:33:24 2018 +1000

    video: move position buffer filling to UpdateWindowFramebuffer

commit c6ab8408cb
Author: Ash <ash@heyquark.com>
Date:   Mon Oct 1 20:08:53 2018 +1000

    video: oops

commit 60d802857d
Author: Ash <ash@heyquark.com>
Date:   Mon Oct 1 20:07:32 2018 +1000

    video: Style nits

commit a7da7f77b1
Author: Ash <ash@heyquark.com>
Date:   Mon Oct 1 20:04:42 2018 +1000

    video: start refactoring - move rendering to own function

commit 9b7b41d901
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Sep 30 16:29:14 2018 +0200

    wiiu: switch to wut.mk

commit ec7653a805
Author: Ash <ash@heyquark.com>
Date:   Sat Sep 29 20:55:44 2018 +1000

    audio: DCFlushRange -> DCStoreRange

commit fb5bfa0a57
Author: Ash <ash@heyquark.com>
Date:   Sat Sep 29 20:54:17 2018 +1000

    audio: Send voice to TV

commit bfb51a0f00
Author: Ash <ash@heyquark.com>
Date:   Sat Sep 29 20:07:22 2018 +1000

    audio: Add *very* early wiiu audio support

commit a910c0765a
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Sep 23 10:48:00 2018 +0200

    wiiu: explicitly set endianess in config (thanks @quarktheawesome) [needed for missing defines in toolchain]

commit 70f923cc91
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Sep 21 22:47:56 2018 +0200

    input/wiiu: switch back to VPADGetTPCalibratedPoint

commit 30a8901587
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Sep 21 20:24:40 2018 +0200

    threads/wiiu: fix crash on SDL_SYS_CreateThread: pass stack top and not stack bottom

commit 89a16883a7
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Sep 21 20:23:23 2018 +0200

    wiiu: enable thread support and stop building generic thread impl

commit 6ea16de7c6
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Sep 21 20:22:25 2018 +0200

    threads/wiiu: remove unused SDL_mutex structure definition and only build when requested

commit 189846753c
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Sep 21 20:21:33 2018 +0200

    threads/wiiu: implement SDL_CondWaitTimeout

commit 30b0133f83
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Sep 21 20:18:10 2018 +0200

    threads/wiiu: add sysmutex_c.h header

commit 5554ca04a8
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Sep 21 20:17:39 2018 +0200

    threads/wiiu: add generic thread storage

commit 494e81f4a9
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Fri Sep 21 20:17:15 2018 +0200

    threads/wiiu: add semaphores

commit bbb8f558cc
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Tue Sep 18 21:12:43 2018 +0200

    wiiu/input: Use raw for touchscreen and check for VPADRead errors

commit cbefaaa74a
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Sep 16 15:01:48 2018 +0200

    Rewrite wiiu joystick driver to better match switch's and add touchscreen support

commit 856e271d2a
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Sep 16 14:58:17 2018 +0200

    Do not send SDL_QUIT from WIIU_PumpEvents: it causes crashes and isn't the right way to do it

commit 5d221e72f1
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Sep 16 14:55:37 2018 +0200

    Change shader include guard to match SDL

commit 9b777c083d
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sat Sep 15 23:43:02 2018 +0200

    Switch to GX2!! (thanks to exjam for his help and toolchain and aliaspider for his shader!)

commit 572c0e4021
Author: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Date:   Sun Oct 28 19:14:23 2018 +0100

    Initial support for Nintendo WiiU

Co-authored-by: rw-r-r-0644 <r.r.qwertyuiop.r.r@gmail.com>
Co-authored-by: Ash Logan <ash@heyquark.com>
Co-authored-by: Kuruyia <Arc13@users.noreply.github.com>
Co-authored-by: Sergio Padrino <sergio.padrino@gmail.com>
2023-11-08 19:19:24 +00:00
Sam Lantinga
3f1fd5abff Updated source to match SDL function prototype style 2023-05-23 10:59:03 -07:00
Sam Lantinga
0479df53ca Updated copyright for 2023 2023-01-09 09:48:21 -08:00
Sam Lantinga
b8d85c6939 Update for SDL3 coding style (#6717)
I updated .clang-format and ran clang-format 14 over the src and test directories to standardize the code base.

In general I let clang-format have it's way, and added markup to prevent formatting of code that would break or be completely unreadable if formatted.

The script I ran for the src directory is added as build-scripts/clang-format-src.sh

This fixes:
#6592
#6593
#6594

(cherry picked from commit 5750bcb174300011b91d1de20edb288fcca70f8c)
2022-11-30 12:57:41 -08:00
Sylvain Becker
fb0ce375f0 Cleanup add brace (#6545)
* Add braces after if conditions

* More add braces after if conditions

* Add braces after while() conditions

* Fix compilation because of macro being modified

* Add braces to for loop

* Add braces after if/goto

* Move comments up

* Remove extra () in the 'return ...;' statements

* More remove extra () in the 'return ...;' statements

* More remove extra () in the 'return ...;' statements after merge

* Fix inconsistent patterns are xxx == NULL vs !xxx

* More "{}" for "if() break;"  and "if() continue;"

* More "{}" after if() short statement

* More "{}" after "if () return;" statement

* More fix inconsistent patterns are xxx == NULL vs !xxx

* Revert some modificaion on SDL_RLEaccel.c

* SDL_RLEaccel: no short statement

* Cleanup 'if' where the bracket is in a new line

* Cleanup 'while' where the bracket is in a new line

* Cleanup 'for' where the bracket is in a new line

* Cleanup 'else' where the bracket is in a new line

(cherry picked from commit 6a2200823c66e53bd3cda4a25f0206b834392652 to reduce conflicts merging between SDL2 and SDL3)
2022-11-28 12:33:03 -08:00
pionere
e5c599f8c6 fix SOLARIS_ATOMICS
- use 'sizeless' int types (int uses 32-bit even if _LP64 is set)
2022-11-09 12:45:14 -05:00
pionere
b095df7f5c simplify MSC_ATOMICS
- use _Interlocked(Compare)ExchangePointer in case of _M_IX86 as well
- improve assertions:
  1. add assertions to SDL_AtomicAdd/SDL_AtomicSet and SDL_AtomicCAS
  2. use sizeof(a->value) instead of sizeof(int)
2022-11-08 10:32:31 -08:00
pionere
eb670742f5 better SDL_AtomicGet(Ptr) implementation 2022-11-07 09:09:37 -08:00
David Carlier
16e699a761 Proposing exposing as public api the various arch dependent
pause instructions so could be used in app infinite loops.
A handful of games do already so we unify it in one place.
2022-08-04 08:47:39 -07:00
Chris Mumford
98411c0d33 Added include: libkern/OSAtomic.h
When building on macOS without gcc (e.g. clang) where HAVE_GCC_ATOMICS
is not defined, `SDL_AtomicTryLock` will call
`OSAtomicCompareAndSwap32Barrier` which is not yet declared.
Including OSAtomic.h on OSX resolves this error/warning:

    SDL_spinlock.c:125:12: error: implicit declaration of function
      'OSAtomicCompareAndSwap32Barrier' is invalid in
      C99 [-Werror,-Wimplicit-function-declaration]
        return OSAtomicCompareAndSwap32Barrier(0, 1, lock);

This was reported in issue #3885 but marked Invalid and closed - possibly
because the default CMake build uses gcc instead of clang.
2022-07-05 07:50:57 -07:00
chalonverse
3b191580c3
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
2022-06-27 10:19:39 -07:00
Francisco Javier Trujillo Mata
273d9e4640 Fix atomic support for PS2 2022-06-15 15:15:26 -07:00
Ozkan Sezer
67f12ede3b move bug #5333 fix to headers 2022-02-08 21:32:50 +03:00
Ozkan Sezer
9b817248c5 SDL_spinlock.c: define HAVE_GCC_ATOMICS for windows/clang builds,
... if not already defined.
Fixes https://github.com/libsdl-org/SDL/issues/5333

diff --git a/src/atomic/SDL_spinlock.c b/src/atomic/SDL_spinlock.c
index bdd347e..4f10741 100644
--- a/src/atomic/SDL_spinlock.c
+++ b/src/atomic/SDL_spinlock.c
@@ -28,6 +28,12 @@
 #include "SDL_mutex.h"
 #include "SDL_timer.h"

+#if defined(__WIN32__) && defined(__clang__)
+# ifndef HAVE_GCC_ATOMICS
+# define HAVE_GCC_ATOMICS 1
+# endif
+#endif
+
 #if !defined(HAVE_GCC_ATOMICS) && defined(__SOLARIS__)
 #include <atomic.h>
 #endif
2022-02-08 18:50:02 +03:00
Sam Lantinga
120c76c84b Updated copyright for 2022 2022-01-03 09:40:21 -08:00
Ozkan Sezer
53aa8eec5f minor cleanup for watcom _inline keyword. 2021-11-25 17:00:24 +03:00
Alex R
ebdfd0e175 atomic: detect clang separately 2021-09-16 17:33:52 -07:00
Ryan C. Gordon
f4eb7f329e
spinlock: Favor gcc-style atomics over MSVC interfaces.
This resolves a problem when using Clang on Windows.

Fixes #4346.
2021-07-27 13:45:33 -04:00
Cameron Gutman
014f507c40 Use specific acquire and release variants of InterlockedExchange on ARM
_InterlockedExchange_rel() is required for correctness on ARM because
the _ReadWriteBarrier() macro is only a compiler memory barrier, not a
hardware memory barrier. Due to ARM's relaxed memory model, this means
the '*lock = 0' write may be observed before the operations inside the
lock, causing possible corruption of data protected by the lock.

_InterlockedExchange_acq() is more efficient on ARM because it avoids an
expensive full memory barrier that _InterlockedExchange() does.
2021-01-03 12:13:40 -06:00
Cameron Gutman
59594a7891 Implement PAUSE_INSTRUCTION() for Windows ARM platforms 2021-01-02 13:43:04 -06:00
Sam Lantinga
9130f7c377 Updated copyright for 2021 2021-01-02 10:25:38 -08:00
Sam Lantinga
d25eff6505 Fixed bug 5429 - spinlock implements PAUSE_INSTRUCTION for PPC platforms
David Carlier

This form of 'or' provides a hint that performance
will probably be improved if shared resources dedicated
to the executing processor are released for use by other
processors
2021-01-02 10:06:22 -08:00
Sam Lantinga
6bd4c717a1 Fixed bug 5402 - ARM support little update proposal
David Carlier

No fix but mostly an update for ARM architecture.
2020-12-17 21:41:23 -08:00
Cameron Cawley
8f1a916ac5 Add basic support for compiling on RISC OS 2020-02-13 20:50:47 +00:00
Sam Lantinga
a8780c6a28 Updated copyright date for 2020 2020-01-16 20:49:25 -08:00
Cameron Cawley
85aabec27e atomic: Support compiling on ARMv3 2019-10-11 22:08:53 +01:00
Sam Lantinga
959cfc428e Fixed memory barrier macro check so it isn't quite so fragile 2019-06-30 23:58:31 -07:00
Sam Lantinga
a8bea85810 Limit the compile error to the case where we actually define the memory barrier macro as the function 2019-06-30 23:55:28 -07:00
Sam Lantinga
cc47810d36 Fixed bug 4683 - SDL_atomic infinite recursion on armv6/armv5 w/ thumb
The real problem is that SDL_atomic.c was built in thumb mode instead of ARM mode, which is required to use the mcr instruction on ARM platforms. Added a compiler error to catch this case so we don't generate code that does infinite recursion.

I also added a potentially better way to handle things on Linux ARM platforms, based on comments in the Chromium headers, which we can try out after 2.0.10 ships.
2019-06-30 23:26:16 -07:00
Sam Lantinga
5e13087b0f Updated copyright for 2019 2019-01-04 22:01:14 -08:00
Ozkan Sezer
d9fb77a3c1 SDL_atomic.c, SDL_spinlock.c: use lock prefix with xchg in Watcom asm. 2018-09-27 11:55:02 +03:00
Ozkan Sezer
949b8bd8c5 correct the comment correction.. 2018-06-30 20:10:40 +03:00
Ozkan Sezer
67f18a1973 comment correction 2018-06-30 20:04:01 +03:00
Ryan C. Gordon
52857de251 Corrected a comment. 2018-06-29 16:55:55 -04:00
Ryan C. Gordon
3b173f818d Patched to compile on Visual Studio (typo). 2018-06-25 23:00:38 -04:00
Ryan C. Gordon
58168a8c3c atomic: Fight with all the assemblers that don't like REP NOP. :/ 2018-06-25 16:34:16 -04:00
Ryan C. Gordon
5f123e31a3 atomic: Spin locks now try to use the x86 PAUSE instruction for short waits.
Fixes Bugzilla #4151.
2018-06-25 15:58:35 -04:00
Sam Lantinga
e3cc5b2c6b Updated copyright for 2018 2018-01-03 10:03:25 -08:00
Ozkan Sezer
500378eb52 Add atomics for Watcom/x86 as inline asm
Partially fixes Bugzilla #3758.
2017-08-18 16:35:55 -04:00
Ryan C. Gordon
1d1a0d7f03 atomic: Patched to compile on Android. 2017-04-13 15:28:56 -04:00
Ryan C. Gordon
1c9c7633d9 atomic: favor compiler intrinsics for compare-and-swap over macOS APIs.
The OSAtomicCompareAndSwap* APIs are deprecated as of macOS 10.12.
2017-04-13 13:28:52 -04:00
Ryan C. Gordon
8c00de57f6 atomic: let Clang always use atomic_load_n if available.
(Apple's Clang reports itself as GCC 4.2.1 in preprocessor macros--the final
GNU C compiler Apple shipped--as of the macOS 10.12 SDK.)
2017-04-13 13:22:23 -04:00
Sam Lantinga
7891e72dca __atomic_load_n() appears to be available in GCC 5 but not GCC 4 2017-03-30 06:52:34 -07:00
Ryan C. Gordon
f2179944cc Patched to compile on some platforms. 2017-03-29 12:04:17 -04:00
James Legg
1dc9ae5c1e Use GCC's atomic loads in SDL_AtomicGet and SDL_AtomicGetPtr
This fixes errors reported by address sanitizer, and generates simpler
code on x86 architectures.
2017-03-29 15:48:22 +01:00
Sam Lantinga
06ccb71bcd Make sure the memory barrier functions are always available, and now they are implemented on Android __ARM_ARCH_5TE__ 2017-02-10 11:21:15 -08:00
Sam Lantinga
45b774e3f7 Updated copyright for 2017 2017-01-01 18:33:28 -08:00
Sam Lantinga
42065e785d Updated copyright to 2016 2016-01-02 10:10:34 -08:00
Philipp Wiesemann
0e45984fa0 Fixed crash if initialization of EGL failed but was tried again later.
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
2015-06-21 17:33:46 +02:00