mirror of
https://github.com/yawut/SDL.git
synced 2026-04-18 14:47:27 -05:00
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>
349 lines
9.7 KiB
C
349 lines
9.7 KiB
C
/*
|
|
Simple DirectMedia Layer
|
|
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
|
|
|
|
This software is provided 'as-is', without any express or implied
|
|
warranty. In no event will the authors be held liable for any damages
|
|
arising from the use of this software.
|
|
|
|
Permission is granted to anyone to use this software for any purpose,
|
|
including commercial applications, and to alter it and redistribute it
|
|
freely, subject to the following restrictions:
|
|
|
|
1. The origin of this software must not be misrepresented; you must not
|
|
claim that you wrote the original software. If you use this software
|
|
in a product, an acknowledgment in the product documentation would be
|
|
appreciated but is not required.
|
|
2. Altered source versions must be plainly marked as such, and must not be
|
|
misrepresented as being the original software.
|
|
3. This notice may not be removed or altered from any source distribution.
|
|
*/
|
|
|
|
/**
|
|
* \file SDL_endian.h
|
|
*
|
|
* Functions for reading and writing endian-specific values
|
|
*/
|
|
|
|
#ifndef SDL_endian_h_
|
|
#define SDL_endian_h_
|
|
|
|
#include "SDL_stdinc.h"
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER >= 1400)
|
|
/* As of Clang 11, '_m_prefetchw' is conflicting with the winnt.h's version,
|
|
so we define the needed '_m_prefetch' here as a pseudo-header, until the issue is fixed. */
|
|
#ifdef __clang__
|
|
#ifndef __PRFCHWINTRIN_H
|
|
#define __PRFCHWINTRIN_H
|
|
static __inline__ void __attribute__((__always_inline__, __nodebug__))
|
|
_m_prefetch(void *__P)
|
|
{
|
|
__builtin_prefetch(__P, 0, 3 /* _MM_HINT_T0 */);
|
|
}
|
|
#endif /* __PRFCHWINTRIN_H */
|
|
#endif /* __clang__ */
|
|
|
|
#include <intrin.h>
|
|
#endif
|
|
|
|
/**
|
|
* \name The two types of endianness
|
|
*/
|
|
/* @{ */
|
|
#define SDL_LIL_ENDIAN 1234
|
|
#define SDL_BIG_ENDIAN 4321
|
|
/* @} */
|
|
|
|
#ifndef SDL_BYTEORDER /* Not defined in SDL_config.h? */
|
|
#ifdef __linux__
|
|
#include <endian.h>
|
|
#define SDL_BYTEORDER __BYTE_ORDER
|
|
#elif defined(__OpenBSD__) || defined(__DragonFly__)
|
|
#include <endian.h>
|
|
#define SDL_BYTEORDER BYTE_ORDER
|
|
#elif defined(__FreeBSD__) || defined(__NetBSD__)
|
|
#include <sys/endian.h>
|
|
#define SDL_BYTEORDER BYTE_ORDER
|
|
/* predefs from newer gcc and clang versions: */
|
|
#elif defined(__ORDER_LITTLE_ENDIAN__) && defined(__ORDER_BIG_ENDIAN__) && defined(__BYTE_ORDER__)
|
|
#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
|
|
#define SDL_BYTEORDER SDL_LIL_ENDIAN
|
|
#elif (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
|
|
#define SDL_BYTEORDER SDL_BIG_ENDIAN
|
|
#else
|
|
#error Unsupported endianness
|
|
#endif /**/
|
|
#else
|
|
#if defined(__hppa__) || \
|
|
defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \
|
|
(defined(__MIPS__) && defined(__MIPSEB__)) || \
|
|
defined(__ppc__) || defined(__POWERPC__) || defined(__powerpc__) || defined(__PPC__) || \
|
|
defined(__sparc__) || defined(_BIG_ENDIAN) || (__BIG_ENDIAN__ == 1)
|
|
#define SDL_BYTEORDER SDL_BIG_ENDIAN
|
|
#else
|
|
#define SDL_BYTEORDER SDL_LIL_ENDIAN
|
|
#endif
|
|
#endif /* __linux__ */
|
|
#endif /* !SDL_BYTEORDER */
|
|
|
|
#ifndef SDL_FLOATWORDORDER /* Not defined in SDL_config.h? */
|
|
/* predefs from newer gcc versions: */
|
|
#if defined(__ORDER_LITTLE_ENDIAN__) && defined(__ORDER_BIG_ENDIAN__) && defined(__FLOAT_WORD_ORDER__)
|
|
#if (__FLOAT_WORD_ORDER__ == __ORDER_LITTLE_ENDIAN__)
|
|
#define SDL_FLOATWORDORDER SDL_LIL_ENDIAN
|
|
#elif (__FLOAT_WORD_ORDER__ == __ORDER_BIG_ENDIAN__)
|
|
#define SDL_FLOATWORDORDER SDL_BIG_ENDIAN
|
|
#else
|
|
#error Unsupported endianness
|
|
#endif /**/
|
|
#elif defined(__MAVERICK__)
|
|
/* For Maverick, float words are always little-endian. */
|
|
#define SDL_FLOATWORDORDER SDL_LIL_ENDIAN
|
|
#elif (defined(__arm__) || defined(__thumb__)) && !defined(__VFP_FP__) && !defined(__ARM_EABI__)
|
|
/* For FPA, float words are always big-endian. */
|
|
#define SDL_FLOATWORDORDER SDL_BIG_ENDIAN
|
|
#else
|
|
/* By default, assume that floats words follow the memory system mode. */
|
|
#define SDL_FLOATWORDORDER SDL_BYTEORDER
|
|
#endif /* __FLOAT_WORD_ORDER__ */
|
|
#endif /* !SDL_FLOATWORDORDER */
|
|
|
|
|
|
#include "begin_code.h"
|
|
/* Set up for C function definitions, even when using C++ */
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* \file SDL_endian.h
|
|
*/
|
|
|
|
/* various modern compilers may have builtin swap */
|
|
#if defined(__GNUC__) || defined(__clang__)
|
|
# define HAS_BUILTIN_BSWAP16 (_SDL_HAS_BUILTIN(__builtin_bswap16)) || \
|
|
(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))
|
|
# define HAS_BUILTIN_BSWAP32 (_SDL_HAS_BUILTIN(__builtin_bswap32)) || \
|
|
(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
|
|
# define HAS_BUILTIN_BSWAP64 (_SDL_HAS_BUILTIN(__builtin_bswap64)) || \
|
|
(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
|
|
|
|
/* this one is broken */
|
|
# define HAS_BROKEN_BSWAP (__GNUC__ == 2 && __GNUC_MINOR__ <= 95)
|
|
#else
|
|
# define HAS_BUILTIN_BSWAP16 0
|
|
# define HAS_BUILTIN_BSWAP32 0
|
|
# define HAS_BUILTIN_BSWAP64 0
|
|
# define HAS_BROKEN_BSWAP 0
|
|
#endif
|
|
|
|
#if HAS_BUILTIN_BSWAP16
|
|
#define SDL_Swap16(x) __builtin_bswap16(x)
|
|
#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL)
|
|
#pragma intrinsic(_byteswap_ushort)
|
|
#define SDL_Swap16(x) _byteswap_ushort(x)
|
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
|
SDL_FORCE_INLINE Uint16
|
|
SDL_Swap16(Uint16 x)
|
|
{
|
|
__asm__("xchgb %b0,%h0": "=q"(x):"0"(x));
|
|
return x;
|
|
}
|
|
#elif defined(__x86_64__)
|
|
SDL_FORCE_INLINE Uint16
|
|
SDL_Swap16(Uint16 x)
|
|
{
|
|
__asm__("xchgb %b0,%h0": "=Q"(x):"0"(x));
|
|
return x;
|
|
}
|
|
#elif (defined(__powerpc__) || defined(__ppc__))
|
|
SDL_FORCE_INLINE Uint16
|
|
SDL_Swap16(Uint16 x)
|
|
{
|
|
int result;
|
|
|
|
__asm__("rlwimi %0,%2,8,16,23": "=&r"(result):"0"(x >> 8), "r"(x));
|
|
return (Uint16)result;
|
|
}
|
|
#elif (defined(__m68k__) && !defined(__mcoldfire__))
|
|
SDL_FORCE_INLINE Uint16
|
|
SDL_Swap16(Uint16 x)
|
|
{
|
|
__asm__("rorw #8,%0": "=d"(x): "0"(x):"cc");
|
|
return x;
|
|
}
|
|
#elif defined(__WATCOMC__) && defined(__386__)
|
|
extern __inline Uint16 SDL_Swap16(Uint16);
|
|
#pragma aux SDL_Swap16 = \
|
|
"xchg al, ah" \
|
|
parm [ax] \
|
|
modify [ax];
|
|
#else
|
|
SDL_FORCE_INLINE Uint16
|
|
SDL_Swap16(Uint16 x)
|
|
{
|
|
return SDL_static_cast(Uint16, ((x << 8) | (x >> 8)));
|
|
}
|
|
#endif
|
|
|
|
#if HAS_BUILTIN_BSWAP32
|
|
#define SDL_Swap32(x) __builtin_bswap32(x)
|
|
#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL)
|
|
#pragma intrinsic(_byteswap_ulong)
|
|
#define SDL_Swap32(x) _byteswap_ulong(x)
|
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
|
SDL_FORCE_INLINE Uint32
|
|
SDL_Swap32(Uint32 x)
|
|
{
|
|
__asm__("bswap %0": "=r"(x):"0"(x));
|
|
return x;
|
|
}
|
|
#elif defined(__x86_64__)
|
|
SDL_FORCE_INLINE Uint32
|
|
SDL_Swap32(Uint32 x)
|
|
{
|
|
__asm__("bswapl %0": "=r"(x):"0"(x));
|
|
return x;
|
|
}
|
|
#elif (defined(__powerpc__) || defined(__ppc__))
|
|
SDL_FORCE_INLINE Uint32
|
|
SDL_Swap32(Uint32 x)
|
|
{
|
|
Uint32 result;
|
|
|
|
__asm__("rlwimi %0,%2,24,16,23": "=&r"(result): "0" (x>>24), "r"(x));
|
|
__asm__("rlwimi %0,%2,8,8,15" : "=&r"(result): "0" (result), "r"(x));
|
|
__asm__("rlwimi %0,%2,24,0,7" : "=&r"(result): "0" (result), "r"(x));
|
|
return result;
|
|
}
|
|
#elif (defined(__m68k__) && !defined(__mcoldfire__))
|
|
SDL_FORCE_INLINE Uint32
|
|
SDL_Swap32(Uint32 x)
|
|
{
|
|
__asm__("rorw #8,%0\n\tswap %0\n\trorw #8,%0": "=d"(x): "0"(x):"cc");
|
|
return x;
|
|
}
|
|
#elif defined(__WATCOMC__) && defined(__386__)
|
|
extern __inline Uint32 SDL_Swap32(Uint32);
|
|
#pragma aux SDL_Swap32 = \
|
|
"bswap eax" \
|
|
parm [eax] \
|
|
modify [eax];
|
|
#else
|
|
SDL_FORCE_INLINE Uint32
|
|
SDL_Swap32(Uint32 x)
|
|
{
|
|
return SDL_static_cast(Uint32, ((x << 24) | ((x << 8) & 0x00FF0000) |
|
|
((x >> 8) & 0x0000FF00) | (x >> 24)));
|
|
}
|
|
#endif
|
|
|
|
#if HAS_BUILTIN_BSWAP64
|
|
#define SDL_Swap64(x) __builtin_bswap64(x)
|
|
#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL)
|
|
#pragma intrinsic(_byteswap_uint64)
|
|
#define SDL_Swap64(x) _byteswap_uint64(x)
|
|
#elif defined(__i386__) && !HAS_BROKEN_BSWAP
|
|
SDL_FORCE_INLINE Uint64
|
|
SDL_Swap64(Uint64 x)
|
|
{
|
|
union {
|
|
struct {
|
|
Uint32 a, b;
|
|
} s;
|
|
Uint64 u;
|
|
} v;
|
|
v.u = x;
|
|
__asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1"
|
|
: "=r"(v.s.a), "=r"(v.s.b)
|
|
: "0" (v.s.a), "1"(v.s.b));
|
|
return v.u;
|
|
}
|
|
#elif defined(__x86_64__)
|
|
SDL_FORCE_INLINE Uint64
|
|
SDL_Swap64(Uint64 x)
|
|
{
|
|
__asm__("bswapq %0": "=r"(x):"0"(x));
|
|
return x;
|
|
}
|
|
#elif defined(__WATCOMC__) && defined(__386__)
|
|
extern __inline Uint64 SDL_Swap64(Uint64);
|
|
#pragma aux SDL_Swap64 = \
|
|
"bswap eax" \
|
|
"bswap edx" \
|
|
"xchg eax,edx" \
|
|
parm [eax edx] \
|
|
modify [eax edx];
|
|
#else
|
|
SDL_FORCE_INLINE Uint64
|
|
SDL_Swap64(Uint64 x)
|
|
{
|
|
Uint32 hi, lo;
|
|
|
|
/* Separate into high and low 32-bit values and swap them */
|
|
lo = SDL_static_cast(Uint32, x & 0xFFFFFFFF);
|
|
x >>= 32;
|
|
hi = SDL_static_cast(Uint32, x & 0xFFFFFFFF);
|
|
x = SDL_Swap32(lo);
|
|
x <<= 32;
|
|
x |= SDL_Swap32(hi);
|
|
return (x);
|
|
}
|
|
#endif
|
|
|
|
|
|
SDL_FORCE_INLINE float
|
|
SDL_SwapFloat(float x)
|
|
{
|
|
union {
|
|
float f;
|
|
Uint32 ui32;
|
|
} swapper;
|
|
swapper.f = x;
|
|
swapper.ui32 = SDL_Swap32(swapper.ui32);
|
|
return swapper.f;
|
|
}
|
|
|
|
/* remove extra macros */
|
|
#undef HAS_BROKEN_BSWAP
|
|
#undef HAS_BUILTIN_BSWAP16
|
|
#undef HAS_BUILTIN_BSWAP32
|
|
#undef HAS_BUILTIN_BSWAP64
|
|
|
|
/**
|
|
* \name Swap to native
|
|
* Byteswap item from the specified endianness to the native endianness.
|
|
*/
|
|
/* @{ */
|
|
#if SDL_BYTEORDER == SDL_LIL_ENDIAN
|
|
#define SDL_SwapLE16(X) (X)
|
|
#define SDL_SwapLE32(X) (X)
|
|
#define SDL_SwapLE64(X) (X)
|
|
#define SDL_SwapFloatLE(X) (X)
|
|
#define SDL_SwapBE16(X) SDL_Swap16(X)
|
|
#define SDL_SwapBE32(X) SDL_Swap32(X)
|
|
#define SDL_SwapBE64(X) SDL_Swap64(X)
|
|
#define SDL_SwapFloatBE(X) SDL_SwapFloat(X)
|
|
#else
|
|
#define SDL_SwapLE16(X) SDL_Swap16(X)
|
|
#define SDL_SwapLE32(X) SDL_Swap32(X)
|
|
#define SDL_SwapLE64(X) SDL_Swap64(X)
|
|
#define SDL_SwapFloatLE(X) SDL_SwapFloat(X)
|
|
#define SDL_SwapBE16(X) (X)
|
|
#define SDL_SwapBE32(X) (X)
|
|
#define SDL_SwapBE64(X) (X)
|
|
#define SDL_SwapFloatBE(X) (X)
|
|
#endif
|
|
/* @} *//* Swap to native */
|
|
|
|
/* Ends C function definitions when using C++ */
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#include "close_code.h"
|
|
|
|
#endif /* SDL_endian_h_ */
|
|
|
|
/* vi: set ts=4 sw=4 expandtab: */
|