Commit Graph

645 Commits

Author SHA1 Message Date
Jack Andersen b814cb503a Add GEqual depth testing to Vulkan backend 2018-05-25 17:41:35 -10:00
Jack Andersen 84df8af28c Windows build fixes and cleanups 2018-05-24 20:30:42 -10:00
Jack Andersen 721d10919b Huge Vulkan refactor 2018-05-21 21:48:13 -10:00
Jack Andersen eaff1ba744 Vulkan backend fixes 2018-05-20 12:37:26 -10:00
Phillip Stephens 505700419b Enable PrimitiveRestart in vulkan 2018-05-20 08:37:18 -07:00
Jack Andersen 578432eb2f OpenGL and Vulkan resource tracing 2018-05-19 20:11:49 -10:00
Jack Andersen 74bdd2d2a5 Remove unnecessary loop contents 2018-05-14 16:55:22 -10:00
Jack Andersen 4a55a04e18 Use GL_DEPTH_COMPONENT32F for consistency with other backends 2018-05-09 21:24:42 -10:00
Jack Andersen edf2c1e34d Add PulseAudio backend. Various Xlib fixes 2018-05-06 12:44:31 -10:00
Jack Andersen 91734b5b24 Fix Linux build without vulkan 2018-05-05 15:29:18 -10:00
Jack Andersen 9031ace975 Ensure GL_PRIMITIVE_RESTART is enabled 2018-05-05 10:55:37 -10:00
Jack Andersen 4580196f6d Fix setWindowFrameDefault() for windows 2018-02-06 15:37:25 -10:00
Jack Andersen cff495550e Windows compile fix 2018-02-04 21:03:54 -10:00
Jack Andersen 1e5e26ced8 Merge branch 'master' of ssh://gitlab.axiodl.com:6431/AxioDL/boo 2018-02-04 20:54:17 -10:00
Jack Andersen edd26fc65b Add shader mode for constant alpha overwrite 2018-02-04 20:52:54 -10:00
Jack Andersen a2c3e14d8e Add nearest-neighbor samplers for remaining backends 2018-02-02 17:05:53 -10:00
Jack Andersen 72c9809655 Add ClampToEdgeNearest texture mode 2018-02-01 13:12:42 -10:00
Jack Andersen c314730d51 Fix subtract blending mode 2018-01-29 21:49:00 -10:00
Jack Andersen 5b62fcd826 Metal API validation fixes 2018-01-24 20:55:42 -10:00
Jack Andersen 1d70723c98 Ensure Vulkan gamma texture is initialized 2018-01-22 18:39:40 -10:00
Jack Andersen 25dc238c44 Xlib deep color support 2018-01-21 21:33:47 -10:00
Jack Andersen b9d200c61d Metal gamma shader coordinate fix 2018-01-21 13:30:01 -10:00
Jack Andersen 5f48359cc7 macOS fixes 2018-01-21 13:07:34 -10:00
Jack Andersen 93c787dcd4 Gamma correction for Vulkan, D3D, OpenGL 2018-01-21 12:01:52 -10:00
Jack Andersen 2df85e8f8b More fixes 2018-01-19 19:50:01 -10:00
Jack Andersen 337c276ccb WTF 2018-01-19 17:02:29 -10:00
Jack Andersen 3d987b6dc9 Add deep color arg to ApplicationRun 2018-01-15 20:29:43 -10:00
Jack Andersen 41cfb56c36 Merge branch 'master' of ssh://gitlab.axiodl.com:6431/AxioDL/boo 2018-01-13 20:37:41 -10:00
Jack Andersen 5d310c008f AudioSubmix reference fix; macOS window icon 2018-01-13 20:37:17 -10:00
Jack Andersen 68de1b5041 Add gfxApi argument for X11; Win32 gfxApi logic fix 2018-01-11 16:29:30 -10:00
Jack Andersen cbfd4ddad0 Merge branch 'master' of ssh://gitlab.axiodl.com:6431/AxioDL/boo 2018-01-11 15:29:21 -10:00
Jack Andersen cc6c872747 Fix non-MSAA resolve operations for Metal 2018-01-11 15:28:33 -10:00
Phillip Stephens 0a93d6c105 Fix linux build 2018-01-11 08:25:05 -08:00
Jack Andersen 1a48dd9c42 macOS build fixes 2018-01-09 21:10:08 -10:00
Jack Andersen b1ce75ed6e Add BOO_HAS_VULKAN check where needed 2018-01-09 20:25:51 -10:00
Jack Andersen 4257fc0b10 MSAA and Anisotropic filtering variables 2018-01-09 20:15:18 -10:00
Phillip Stephens 872ab3900d Linux build fixes 2018-01-07 01:25:30 -08:00
Jack Andersen 1dc69c3468 Work on MSAA support 2018-01-06 19:17:14 -10:00
Jack Andersen db82ba674b Add clearDepth parameter to resolveBindTexture() 2018-01-05 20:49:54 -10:00
Jack Andersen ed618fa8cb Metal validation fix 2018-01-04 17:00:58 -10:00
Jack Andersen 676a002aa3 Xlib application icon fix 2018-01-01 19:09:15 -10:00
Jack Andersen 2ada7130d3 Make WIN32 vulkan macro target-wide 2017-12-29 15:06:44 -10:00
Jack Andersen fa8989bed3 Huge compile performance refactor 2017-12-28 21:54:26 -10:00
Phillip Stephens 867665cc78 Fix L/R Trigger hypersensitivity 2017-12-21 18:15:30 -08:00
Jack Andersen 02dc5a2a97 GameCube controller calibration fix 2017-12-19 20:04:11 -10:00
Jack Andersen e57f6fb2d5 Include <immintrin.h> instead of <xmmintrin.h> 2017-12-18 17:04:47 -10:00
Phillip Stephens beb7f00b18 Merge commit '50ee248' 2017-12-15 18:10:28 -08:00
Phillip Stephens 50ee248391 Expose VID/PID APIs 2017-12-15 18:09:56 -08:00
Jack Andersen e0aa15610b macOS IOKit interface fixes; callback-change mutex for controllers 2017-12-15 13:35:54 -10:00
Jack Andersen 2db777eead Convert misconfigured tabs to spaces 2017-12-08 09:17:23 -10:00
Jack Andersen 1259255f34 UWP mouse and DPI fixes 2017-12-07 16:52:38 -10:00
Jack Andersen 62c2b1ffac UWP fixes 2017-12-06 18:08:44 -10:00
Jack Andersen f228f23661 UWP support 2017-12-05 17:20:59 -10:00
Jack Andersen 598bce028b WASAPI fix 2017-12-03 17:20:54 -10:00
Jack Andersen 489e7e671b Allocate submixes and voices using boo::ObjToken 2017-12-03 16:50:33 -10:00
Jack Andersen 135f504899 Windows fix 2017-12-02 20:17:47 -10:00
Jack Andersen 03de8811b1 Object tracker list refactor; add object tracker to audio system 2017-12-02 20:05:16 -10:00
Jack Andersen 579ddc822c Fix Metal DXT1 loading 2017-12-01 19:49:07 -10:00
Jack Andersen ce80446e8b Fix silence test logic 2017-11-27 18:09:23 -10:00
Jack Andersen b995be262b Don't bother processing silent voices 2017-11-27 17:38:02 -10:00
Jack Andersen b23da43f05 Windows and Vulkan fixes 2017-11-24 16:49:20 -10:00
Jack Andersen 3c90192351 Make shader compilation errors fatal for GL 2017-11-24 12:07:23 -10:00
Phillip Stephens 4aa662cd67 Add support for wired switch controllers from PowerA 2017-11-23 23:17:28 -08:00
Jack Andersen e0cabf9e1c Make Metal default graphics API for macOS 2017-11-21 12:18:23 -10:00
Jack Andersen 49d76b84be Ensure boo IObj instances are heap-allocated 2017-11-19 13:44:46 -10:00
Jack Andersen de9159ce51 Vulkan API fixes 2017-11-18 15:31:05 -10:00
Jack Andersen 98bf80a9b9 Use recursive_mutex on AppKit API boundaries 2017-11-17 17:33:50 -10:00
Jack Andersen a99bddc905 ClampToEdge mode for textures; cocoa termination exception fix 2017-11-16 22:55:51 -10:00
Jack Andersen bffdf43f9e Vulkan render pass fix 2017-11-16 13:48:18 -10:00
Jack Andersen 4b064a58f2 Make D3D depth range consistent with OpenGL and Vulkan 2017-11-14 21:25:28 -10:00
Jack Andersen 2b6d0cbb1c Bug fix for changing Win32 window title 2017-11-14 18:10:13 -10:00
Jack Andersen b7646f7f9a Windows fixes 2017-11-13 17:32:44 -10:00
Jack Andersen 6950d96b46 Linux build fixes 2017-11-12 21:19:49 -10:00
Jack Andersen cb5d22eed6 string_view refactor 2017-11-12 20:13:32 -10:00
Jack Andersen 420dcee552 Metal consistency fixes 2017-11-11 19:14:10 -10:00
Jack Andersen a9d16fff83 Much more realistic period size for ALSA buffering 2017-11-10 11:04:19 -10:00
Jack Andersen 165314b817 Windows and Vulkan fixes for AMD GPU 2017-11-08 22:10:43 -10:00
Jack Andersen 1a2fc1d2a3 IObj destructor race condition fix 2017-11-07 21:33:10 -10:00
Jack Andersen 3cd375e67b Restore VkShaderModule caching 2017-11-07 16:24:07 -10:00
Jack Andersen 2cd7de7a28 Clear Vulkan resources if command buffer abandoned 2017-11-06 22:04:44 -10:00
Jack Andersen 6c3a35f15d Finish object tracker for remaining platforms 2017-11-05 20:53:54 -10:00
Jack Andersen 3a7987bb21 Object tracker bug fixes; optional metal binary shader compilation 2017-11-04 20:12:49 -10:00
Jack Andersen 021143fd89 New object management architecture for OpenGL subsystem (more platforms to come) 2017-11-02 23:39:26 -10:00
Jack Andersen 90e2df40dd Merge commit '46156' into gl-fixes 2017-11-01 23:38:22 -10:00
Jack Andersen 4615641a12 Add buffer logging 2017-11-01 23:37:50 -10:00
Jack Andersen 0f96af94f6 Addresses some resource lifetime issues in OpenGL and Vulkan 2017-11-01 23:24:50 -10:00
Jack Andersen 10364557b9 Vulkan array-texture validation fix; better handling of unsupported audio HW on ALSA 2017-10-30 17:42:41 -10:00
Jack Andersen 3c207386e7 Metal autorelease pools at API boundaries 2017-10-27 00:09:22 -10:00
Jack Andersen d1b980b529 Windows fixes; experimental UWP framework (not working) 2017-10-23 17:09:50 -10:00
Jack Andersen 41d225bd64 Use metal shading language 1.2 2017-10-21 20:09:58 -10:00
Jack Andersen ed9b7914ee Sample blend timing fix for LtRt processing 2017-10-02 19:19:55 -10:00
Jack Andersen db9a5953e6 12kHz LPF and bug fixes for LtRt matrixing 2017-10-01 14:59:18 -10:00
Jack Andersen 55d1a5bc93 Windows compile fixes 2017-09-30 19:31:29 -10:00
Jack Andersen 2a49a8d447 Add texture clamp mode 2017-09-30 18:23:28 -10:00
Jack Andersen cbaa016b11 Add IPP-LICENSE and README note about PLII encoding 2017-09-27 17:40:16 -10:00
Jack Andersen 0b35c584f6 Experimental support for LtRt surround matrixing 2017-09-27 17:11:40 -10:00
Jack Andersen 71b8893dde Changes to AudioQueueServices backend to capture 7.1 surround with SoundFlower 2017-09-19 23:25:02 -10:00
Jack Andersen bf4b3f7382 Minor tweak to HIDDeviceUdev 2017-09-17 16:59:46 -10:00
Jack Andersen 175893f055 HID parser for udev; Vulkan fixes 2017-09-15 15:55:41 -10:00
Jack Andersen 1f14cc09a1 HID Parser for Win32 2017-09-15 12:26:39 -10:00
Jack Andersen 0f2a838bfb Add Cross-platform HID parser 2017-09-15 07:20:52 -10:00
Jack Andersen 5bc17c753c Remove logic defeating blend assignment 2017-09-04 21:55:17 -10:00
Jack Andersen dd6e53119a Add subtractive blending mode to backends 2017-09-04 16:59:41 -10:00
Jack Andersen 18cbfd2865 Add GEqual Z-test option for pipeline backends 2017-09-02 19:52:53 -10:00
Jack Andersen 04ff1692d8 Merge branch 'master' of https://github.com/AxioDL/boo 2017-07-16 18:01:43 -10:00
Jack Andersen 1aa499ec34 Use smart pointers for Win32 windows 2017-07-16 18:01:13 -10:00
Jack Andersen 023d129a75 Use smart pointers for Xlib windows 2017-07-16 17:58:18 -10:00
Jack Andersen b97c82469a shared_ptr for IWindow; better Cocoa app lifecycle 2017-07-16 16:45:49 -10:00
Jack Andersen 49afde2fb9 Reinstate glFlush for buffer updates 2017-07-13 19:13:29 -10:00
Jack Andersen 505f0fef73 Proper hidraw device enumeration 2017-05-11 16:52:45 -10:00
Jack Andersen 64b949aecd Windows fixes 2017-05-11 09:41:40 -10:00
Jack Andersen 048d22be2a Merge branch 'master' of https://github.com/AxioDL/boo 2017-05-11 09:13:47 -10:00
Jack Andersen 6e1c71aefd Working Dualshock output reports on macOS; fix runaway loop 2017-05-11 09:12:44 -10:00
Phillip Stephens a5b38596a5 Fix maxAnisotropy validation error 2017-05-09 17:00:30 -07:00
Jack Andersen 7823aecc57 hidraw support for udev; fix race condition 2017-05-08 17:37:12 -10:00
Jack Andersen ff89a9cccf Win32 input device refinements and XInput support 2017-05-08 09:09:10 -10:00
Jack Andersen aa272fe7b9 Smart pointer cleanup 2017-05-07 11:31:56 -10:00
Jack Andersen 62443b59e7 IOKit input refactor 2017-05-07 11:24:00 -10:00
Jack Andersen 12bbf540fd MIDI encoder fix 2017-03-23 19:28:30 -10:00
Jack Andersen 9a7cadce3a Minor Metal backend change 2017-03-19 19:08:19 -10:00
Jack Andersen 5f903c09ee Windows sync 2017-03-17 13:31:51 -10:00
Jack Andersen 05c26a535b OpenGL and metal rendering interface upgrades 2017-03-13 21:02:53 -10:00
Jack Andersen 73891af56a Add frontface culling support to Metal 2017-03-10 11:07:29 -10:00
Jack Andersen ca20aea834 Add front-face culling support 2017-03-10 10:38:00 -10:00
Jack Andersen 5c52877549 typo fix 2017-03-05 20:33:18 -10:00
Jack Andersen 3b7a5781f5 OpenGL and Metal fixes 2017-03-05 13:34:24 -10:00
Jack Andersen a547eb9dbb Runtime shader cache fixes 2017-03-05 12:59:58 -10:00
Jack Andersen 03f155fcf5 Move xxhash to boo; cached shader components 2017-03-04 21:54:58 -10:00
Jack Andersen 8bcac27c10 Fix updated glew for Windows 2017-02-24 21:58:09 -10:00
Jack Andersen 0cc794f49d Update glew 2017-02-23 22:26:27 -10:00
Jack Andersen 245a39fd92 Merge branch 'master' of https://github.com/AxioDL/boo 2017-02-15 19:46:18 -10:00
Jack Andersen e6b3530681 Fix break derp 2017-02-15 19:46:03 -10:00
Jack Andersen 0a4775726c Add missing initializer 2017-02-15 18:50:21 -10:00
Jack Andersen 71593afe50 More Vulkan fixes 2017-02-15 18:47:31 -10:00
Jack Andersen 3197142d1f Vulkan window resize fixes 2017-02-15 17:17:18 -10:00
Jack Andersen bfd912b0a9 Merge branch 'master' of https://github.com/AxioDL/boo 2017-02-15 13:13:27 -10:00
Jack Andersen f9ed2ba5b8 Make resized() lock platform-dependent 2017-02-15 13:13:05 -10:00
Jack Andersen 9af8ec3d23 Vulkan Win32 fixes 2017-02-15 13:10:30 -10:00
Jack Andersen c6d5015612 Use 45ms buffer size for WASAPI 2017-02-14 22:28:10 -10:00
Jack Andersen 5982a3825d Use 15ms buffers in AQS 2017-02-14 20:49:28 -10:00
Jack Andersen fef663a5e3 Allow audio AQS buffering to occur during frame idle 2017-02-14 20:00:10 -10:00
Jack Andersen 48491e3250 Fix for #14 2017-02-12 08:20:52 -10:00
Jack Andersen 1834be435f Fix AudioQueueServices stall-out 2017-02-11 22:44:20 -10:00
Phillip Stephens ee60772b39 Revert "fix" for DolphinSmashAdapter (incorrect, problem lies elsewhere) 2017-02-10 20:20:41 -08:00
Jack Andersen 27a455c61d Touch Bar support 2017-02-08 23:22:12 -10:00
Jack Andersen bb227b9cc0 Solve some D3D12 validation errors and warnings 2017-02-04 08:23:08 -10:00
Jack Andersen b5050159c4 More stable window close handling 2017-02-02 21:32:56 -10:00
Jack Andersen 4fb95046a8 Add shader dump to Metal compile failure 2017-01-29 18:14:58 -10:00
Jack Andersen ed8cc3a57b Conform D3D and Vulkan backends 2017-01-28 21:26:42 -10:00
Jack Andersen 4be38afef3 Merge branch 'master' of https://github.com/AxioDL/boo 2017-01-28 17:56:39 -10:00
Jack Andersen 80e93a8e38 Mipmapped array textures 2017-01-28 17:56:17 -10:00
Phillip Stephens a2e0692285 Fix Inverted left/right stick axes 2017-01-26 23:41:45 -08:00
Jack Andersen 7bf2ad48a7 Add ability to unregister audio callback 2017-01-22 21:20:40 -10:00
Jack Andersen d6b54a3718 D3D11 dynamic texture load fix 2017-01-21 23:04:37 -10:00
Jack Andersen 23a0c4d1da Submix deletion bug fix 2017-01-21 15:39:15 -10:00
Jack Andersen 594d590a55 D3D and Vulkan sync 2017-01-20 14:19:18 -10:00
Jack Andersen ee9f3efe61 Hold shader data bindings through to rendering worker 2017-01-19 17:52:40 -10:00
Jack Andersen f0e8e0a1fa Synchronous lifetime control of AudioQueue on macOS 2017-01-18 10:56:26 -10:00
Jack Andersen 8fe3e2152b Update logvisor; name key threads 2017-01-16 15:20:50 -10:00
Jack Andersen 593170cefe Support nullptr for submix sends 2017-01-15 22:39:56 -10:00
Jack Andersen 7463426fe6 Default audio mixing to main output 2016-12-13 15:08:42 -10:00
Jack Andersen d309f124b9 More stable D3D11 resource residency 2016-12-11 13:29:08 -10:00
Jack Andersen 1177d50eda Metal pool buffers 2016-12-11 10:20:29 -10:00
Jack Andersen c057068e64 use hash table for pool buffers 2016-12-10 20:18:41 -10:00
Jack Andersen 25fadc7348 Windows sync 2016-12-10 15:50:26 -10:00
Jack Andersen fa45c6750a macOS HIDPI fixes; buffer pools 2016-12-09 16:31:50 -10:00
Jack Andersen d5b42b785e CoreMidi API usage adjustment to prefer latest connected HW 2016-10-15 08:39:09 -10:00
Jack Andersen 1877c546ac Smarter std::thread ownership for HID clients 2016-10-10 15:20:39 -10:00
Jack Andersen 26b1e25077 Better branching logic for Vulkan init 2016-09-30 12:40:06 -10:00
Jack Andersen 10988fa37e Make setlocale fail non-fatal 2016-09-25 11:33:39 -10:00
Jack Andersen 528c572671 Windows Fixes 2016-09-18 15:02:33 -10:00
Jack Andersen 516e5fbe0e Also restore Metal scissor rect 2016-09-11 19:34:45 -10:00
Jack Andersen 4cffc6e4ec Metal viewport restore fix 2016-09-11 19:28:54 -10:00
Jack Andersen 7da2f8e632 Minor Windows include tweaks 2016-09-10 15:21:24 -10:00
Jack Andersen ac98d6eac2 Metal resolveBindTexture viewport restore 2016-09-02 19:17:47 -10:00
Jack Andersen ceedda9e1f const_cast is a nicer statement 2016-08-28 18:20:40 -10:00
Jack Andersen e92e6d7c4c Full spelling of 'OpenGL' for enum consistency 2016-08-23 18:33:20 -10:00
Jack Andersen dbf7b9bcf8 Windows fixes and include refinements 2016-08-17 10:04:19 -10:00
Jack Andersen c77fe94313 Disable depth clamp in Vulkan shaders 2016-08-08 08:21:14 -10:00
Jack Andersen 3d96463db7 Better Metal shader error handling 2016-08-03 13:45:52 -10:00
Jack Andersen 758be7d76c Use rectangle intersect for blitting safety 2016-08-01 19:54:01 -10:00
Jack Andersen 6c12cd0ce8 Flush out state for offset uniform bindings 2016-08-01 15:59:03 -10:00
Jack Andersen de0699ab8d D3D12 render to texture fixes 2016-08-01 13:24:01 -10:00
Jack Andersen 29364a8024 D3D sync 2016-07-31 18:32:27 -10:00
Jack Andersen 21548bada8 Use GEQUAL compare for Metal depth compare 2016-07-31 12:39:05 -10:00
Jack Andersen 2ec943f0b2 Metal platform fixes 2016-07-31 10:25:02 -10:00
Jack Andersen 0ee5944387 Comment out annoying warnings 2016-07-30 18:45:03 -10:00
Jack Andersen bec368dfe7 support for nullptr in texture binding array 2016-07-30 16:05:20 -10:00
Jack Andersen c01b0b4c6a Vulkan resolveBindTexture fix 2016-07-29 18:38:33 -10:00
Jack Andersen e70da4b4a5 Vulkan depth clear fix 2016-07-26 20:33:42 -10:00
Jack Andersen d6063f4a4d Vulkan render-target fixes 2016-07-26 18:13:34 -10:00
Jack Andersen cb2b33a42b Vulkan validation fixes 2016-07-26 17:38:00 -10:00
Jack Andersen 55be829aca Vulkan validation layer fixes 2016-07-26 16:17:16 -10:00
Phillip Stephens cf26e39259 Windows fixes 2016-07-23 23:33:23 -07:00
Jack Andersen d71c01e1d7 Smart pointer usage in Vulkan.cpp 2016-07-20 12:19:53 -10:00
Jack Andersen 66c64cde08 Fallback flow for graphics APIs 2016-07-20 07:14:18 -10:00
Jack Andersen 1c8236d100 Remove redundant loop 2016-07-18 12:39:28 -10:00
Jack Andersen 6473014178 Ensure MessageBox call only emitted for Windows 2016-07-17 11:18:28 -10:00
Jack Andersen 3076c0525d Add preliminary Win32 Vulkan support 2016-07-17 11:15:57 -10:00
Jack Andersen 02c1004d67 Minor adjustments to silence MSVC warnings 2016-07-14 11:29:55 -10:00