Commit Graph

648 Commits

Author SHA1 Message Date
Jack Andersen 7eda81e55e Initial support for asyncronous shader pipeline compilation 2019-06-15 20:24:28 -10:00
Jack Andersen 29a67b9ea8 Inhibit screensaver using dbus or xdg-screensaver 2019-06-11 15:55:58 -10:00
Jack Andersen 99519d3882 Cubemap support for metal 2019-06-02 21:51:03 -10:00
Jack Andersen 18bb6e7439 Cubemap support for D3D11 2019-05-31 23:27:11 -10:00
Jack Andersen 18faf55750 Add support for cubemap textures in GL and Vulkan 2019-05-31 17:39:55 -10:00
Jack Andersen 22cb5bb0a8 Compile warning fix 2019-05-10 13:07:33 -10:00
Jack Andersen b340a8a42e Raise max texture count to 12 2019-05-09 18:07:13 -10:00
Jack Andersen 0f330c1f05 Add support for MemorySanitizer instrumentation 2019-04-06 18:53:41 -10:00
Jack Andersen c1d3d040bf Add True and False tests for bitwise enums 2019-04-02 18:28:39 -10:00
Jack Andersen af4b1a4521 Register PID with X11 window 2019-03-09 23:13:45 -10:00
Jack Andersen 21f9fcf914 Ensure GL doesn't leak VAOs 2019-03-04 22:33:30 -10:00
Jack Andersen 8b0927ead0 Fix D3D DXT3 loading 2019-03-03 13:03:01 -10:00
Jack Andersen af50240143 Add DXT3 texture format 2019-03-02 20:16:12 -10:00
Jack Andersen f8b22ecb13 Correct nanosleep usage 2019-02-23 21:14:27 -10:00
Jack Andersen 45db327fb3 Remove vsync thread from X11 backend 2019-02-11 21:18:35 -10:00
Jack Andersen 3e1da36f39 Ensure previous pipeline state is rebound on metal after copying render texture 2019-02-03 15:37:19 -10:00
Jack Andersen 2135f4e4dc Reformat Objective-C code with new style 2019-02-03 14:00:12 -10:00
Jack Andersen 058ea23a00 New code style refactor 2018-12-07 19:17:51 -10:00
Jack Andersen 2c2c72bfd1 Minor tweak 2018-12-07 15:28:54 -10:00
Jack Andersen 54676aff91 early return case for setClampMode 2018-11-07 14:52:25 -10:00
Jack Andersen b6d40fde97 Add startInst argument to drawInstanced 2018-11-04 21:24:38 -10:00
Jack Andersen 3b4d7abae6 D3D11 Compile fix 2018-10-21 22:12:44 -10:00
Jack Andersen 7bda89073d Fix tessellation pipeline handling for Metal 2018-10-18 16:18:47 -10:00
Jack Andersen 9d91cd459e Ensure VulkanTextureR layouts are predictably initialized 2018-10-18 13:55:15 -10:00
Jack Andersen 7d1be415c6 Fix tessellation pipeline setup 2018-10-16 17:26:07 -10:00
Jack Andersen 65c99ad769 macOS API sync 2018-10-15 17:13:57 -10:00
Jack Andersen 592ffa1372 Windows sync for API changes 2018-10-14 09:59:19 -10:00
Jack Andersen f917d154b2 GLX bug fixes 2018-10-11 10:47:37 -10:00
Jack Andersen 0b52f3dbab Convert to pragma once 2018-10-06 17:36:44 -10:00
Jack Andersen c29d837ab5 Huge shader infrastructure refactor 2018-10-06 16:49:22 -10:00
Jack Andersen 08d632a8bd Multichannel WAVOut 2018-09-03 14:14:59 -10:00
Jack Andersen c78afbdcdd Better matrix slewing 2018-09-02 14:44:38 -10:00
Jack Andersen 70b2518751 Window API changes 2018-08-27 19:41:15 -10:00
Jack Andersen 8ee04c8f1a Sync macOS with API changes 2018-08-27 17:46:33 -10:00
Jack Andersen 261c06d746 Optional teVirtualMIDI integration 2018-08-25 21:56:16 -10:00
Jack Andersen fd2a92e2c2 Allow MIDIDecoder to handle multiple messages per pass 2018-08-24 22:37:26 -10:00
Jack Andersen f73e4f08fa Windows Audio and MIDI feature sync 2018-08-19 10:06:29 -10:00
Jack Andersen 168fb3f516 ALSA MIDI fixes 2018-08-18 14:28:00 -10:00
Jack Andersen 5e58e989a8 Remove ALSA audio backend 2018-08-18 12:08:58 -10:00
Jack Andersen 322c4d3aab Use XRandR data to access DPI 2018-06-27 15:15:23 -10:00
Jack Andersen abbd3167b2 Implement Metal tessellation shaders 2018-06-11 15:13:34 -10:00
Jack Andersen 2a45cf90d8 Implement tessellation shaders for D3D11 2018-06-07 14:42:43 -10:00
Jack Andersen 4a19ac1e83 OpenGL and Vulkan support for tessellation shaders 2018-06-06 18:36:17 -10:00
Jack Andersen 82966931f8 Increase PulseAudio buffer size 2018-06-01 20:05:45 -10:00
Jack Andersen 1a71ed813a Fix TSan-reported race conditions 2018-06-01 14:01:47 -10:00
Jack Andersen fdddeebf52 Small hack to prevent AMD GCN hangs 2018-05-31 20:36:57 -10:00
Jack Andersen fb91482282 Do fullscreen set on main thread 2018-05-28 17:40:44 -10:00
Jack Andersen 6ff4229f9b Windows deallocation fixes 2018-05-28 10:23:20 -10:00
Jack Andersen 3028e34b51 Silent audio mixing fix; Xlib Vulkan destruction order fix 2018-05-28 09:28:36 -10:00
Jack Andersen d5ec7bcc1e Slab allocation of VkDescriptorPools 2018-05-27 11:35:21 -10:00
Jack Andersen f00d77415a Fix vulkan multisampling 2018-05-26 19:13:50 -10:00
Jack Andersen fdf37c95e0 PulseAudio buffering fix 2018-05-26 18:20:01 -10:00
Jack Andersen 19014e0ba7 synchronize macOS with latest changes 2018-05-26 11:29:19 -10:00
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