Commit Graph

440 Commits

Author SHA1 Message Date
Jack Andersen 86003c4ac4 Initial multiple-referencing submix refactor 2016-07-12 17:06:12 -10:00
Phillip Stephens 1d02741879 Fix crash in HIDListenerIOKit when wLenDone == 0 2016-07-09 14:54:08 -07:00
Jack Andersen 44e8317d49 Refactor GLSL shader bindings 2016-07-07 14:05:22 -10:00
Jack Andersen 5c91ba8da7 Restore original sampling ratio 2016-07-07 09:18:57 -10:00
Jack Andersen 7b329963d1 Windows compile fix 2016-07-06 11:49:39 -10:00
Jack Andersen c47780527d Add WAVOut Voice Backend for offline Audio mixing 2016-07-06 11:29:06 -10:00
Phillip Stephens 96fe19cfc0 OS X < 10.11 fixes 2016-07-05 14:47:04 -07:00
Jack Andersen d9abcb8cf5 Refactored audio supply dispatch across two passes 2016-07-04 15:06:22 -10:00
Jack Andersen befa1a11a2 ALSA and AQS use floating-point audio output now 2016-07-03 17:31:53 -10:00
Jack Andersen f4dc3626e5 sRGB mapping working on Intel; other platforms need testing 2016-07-01 19:19:28 -10:00
Jack Andersen 0c99623aa9 Vulkan platform conformances 2016-07-01 17:44:57 -10:00
Jack Andersen 295d100ca3 Initial vulkan rendering within URDE 2016-06-30 16:30:29 -10:00
Jack Andersen 6504bfc8c8 Removed double pipeline cache free 2016-06-29 19:42:27 -10:00
Jack Andersen 0e48afcc02 Initial working booTest on Vulkan 2016-06-29 18:54:29 -10:00
Jack Andersen fba6d10b37 Use Vulkan Blit command rather than Copy 2016-06-28 16:00:02 -10:00
Jack Andersen b04257c992 Update booTest pipeline for Vulkan 2016-06-28 15:22:13 -10:00
Jack Andersen affb4e98d3 D3D12 -> D3D11 device fallback 2016-06-27 12:54:02 -10:00
Jack Andersen c7df255c24 Several Vulkan bug fixes, state setup validates 2016-06-26 18:33:01 -10:00
Jack Andersen fb259a7d12 More Vulkan bug fixes 2016-06-25 14:33:22 -10:00
Jack Andersen e320121df6 Vulkan backend bug fixes 2016-06-24 21:04:58 -10:00
Jack Andersen 9bc1193e3f Update glslang, some Vulkan bug fixes 2016-06-23 17:03:06 -10:00
Jack Andersen e4c625c55a MIDIDecoder bug fixes 2016-06-22 11:44:37 -10:00
Jack Andersen d77a18cde3 MIDIEncoder fix 2016-06-20 21:08:33 -10:00
Jack Andersen 4f7845f4ce Don't initialize OLE 1.0 in CoInitializeEx 2016-06-17 10:43:05 -10:00
Jack Andersen 9724488da3 Huge quaility improvement with soxr by priming with 5ms of silence 2016-06-16 20:01:36 -10:00
Jack Andersen 7410e17179 Not clamping float audio now; better mix quality 2016-06-14 17:53:37 -10:00
Jack Andersen e62e8952b5 Audio Queue Services now queries user-configured sample rate from device 2016-06-08 15:51:21 -10:00
Jack Andersen 65a63bcab5 Linux sync for MIDI timing 2016-06-07 19:20:26 -10:00
Jack Andersen 52c0cca593 Improved MIDI timing interface 2016-06-07 18:37:21 -10:00
Jack Andersen 521b490d0f Support for runtime changing of audio output endpoint under WASAPI 2016-05-31 18:53:57 -10:00
Jack Andersen faafbb2d3f Add check for missing Windows 7 Platform Update 2016-05-31 17:02:07 -10:00
Jack Andersen d57469e1e1 More reliable MIDI thread-exit signal 2016-05-31 00:18:04 -10:00
Jack Andersen 36aa2b06a4 Merge branch 'master' of https://github.com/AxioDL/boo 2016-05-30 19:17:05 -10:00
Jack Andersen f1e07861ca dry-main, wet-submix audio routing 2016-05-30 19:16:29 -10:00
Jack Andersen d08f25abd3 Out-of-bounds memory access fixes 2016-05-29 12:57:57 -10:00
Jack Andersen db8c002f4e Safer null-pointer handling in AudioQueueServices 2016-05-24 11:56:22 -10:00
Jack Andersen a464f3d68c Remove pointless line endings in CoreMIDI strings 2016-05-23 09:15:06 -10:00
Jack Andersen c6b2b70933 Update WASAPI.cpp 2016-05-23 09:14:10 -10:00
Jack Andersen 8aaaffbe67 Add 2-channel floating-point audio SSE path 2016-05-22 20:21:18 -10:00
Jack Andersen 9b13390447 Integrate Win32 MIDI API 2016-05-22 19:34:20 -10:00
Jack Andersen 59f42ae85f Add OS X CoreMIDI interfaces 2016-05-22 13:09:32 -10:00
Jack Andersen d1eb3a6b3b Initial AudioMatrixSSE 2016-05-21 22:37:16 -10:00
Jack Andersen 9078a16642 Proper MIDI thread termination 2016-05-21 12:43:43 -10:00
Jack Andersen 0a049645d8 Remove unnecessary conditional 2016-05-21 12:18:15 -10:00
Jack Andersen 53f4e32c46 Add channel-matrix slewing 2016-05-21 11:45:55 -10:00
Phillip e48f5d36c7 Windows compile fixes 2016-05-20 20:22:00 -07:00
Jack Andersen 6f04bea1f0 Tweaks to ALSA midi handling 2016-05-20 15:16:28 -10:00
Jack Andersen df61d6678b Functor-based MIDI command receiving 2016-05-20 12:57:34 -10:00
Jack Andersen 7756fcaf76 Add MIDI interface classes 2016-05-19 20:16:07 -10:00
Jack Andersen 77507459cc Add 5ms callback registration for precise audio updates 2016-05-19 00:14:21 -10:00
Jack Andersen 8ff2b9c404 Add IMIDIPort, initial ALSA midiport implementation 2016-05-18 16:18:52 -10:00
Jack Andersen ceff1934c1 Add `slew` option to pitch-update function 2016-05-16 17:46:03 -10:00
Jack Andersen eea45ebcbe Submix hierarchy deallocation fixes 2016-05-16 12:14:07 -10:00
Jack Andersen 80026d7fe6 Better buffer handling for audio mixing 2016-05-16 10:21:20 -10:00
Jack Andersen 6d65216dd6 Fix pitch-ratio set 2016-05-15 16:41:11 -10:00
Jack Andersen 690edd01e6 Finish implementation of 'isRepeat' for XLib key events 2016-05-15 11:54:55 -10:00
Jack Andersen 89b0fa5cd6 Add API for reporting submix sample rate and format 2016-05-13 18:47:31 -10:00
Jack Andersen 4a74a0ad7c Add short-process loop for voices that make sample-level parameter changes 2016-05-11 11:29:11 -10:00
Jack Andersen b3e77c4384 DeferredWindowEvents moved to boo 2016-05-10 18:50:26 -10:00
Jack Andersen f86b9706d4 Update effect API to include sample count info 2016-05-09 16:29:51 -10:00
Jack Andersen 08a4c5d7a8 Fix some submix issues 2016-05-07 12:11:45 -10:00
Jack Andersen 4b969fd475 Implement AudioSubmix 2016-05-06 18:28:32 -10:00
Jack Andersen f76caba013 Update glslang; GCC compatibility fixes 2016-04-15 10:41:24 -10:00
Jack Andersen 5afdb62a39 Metal depth range 2016-04-04 16:37:46 -10:00
Jack Andersen dc7da6aa21 D3D depth range 2016-04-04 16:25:55 -10:00
Jack Andersen 4cec163804 depth range part of setViewport now 2016-04-04 15:49:08 -10:00
Jack Andersen 23f49fcc19 D3D uniform buffer fixes 2016-04-04 09:33:42 -10:00
Jack Andersen 5b43b31529 Vulkan API sync 2016-04-03 20:36:28 -10:00
Jack Andersen 4a2c32c2a9 Metal extension shader support 2016-04-03 20:13:11 -10:00
Jack Andersen 54ae8c2b1a More graceful OpenGL uniform block binding 2016-04-03 19:00:13 -10:00
Jack Andersen af188afc81 copypasta fix 2016-04-02 20:22:03 -10:00
Jack Andersen 843396095f Metal depth rendering, matched to D3D 2016-04-02 20:18:30 -10:00
Jack Andersen 4c8e36f3e3 D3D-native depth conventions 2016-04-02 19:20:21 -10:00
Jack Andersen 01649d42f6 Windows fixes 2016-04-02 17:30:44 -10:00
Jack Andersen 165b40448f Much more efficient glClear solution 2016-04-01 18:40:31 -10:00
Jack Andersen 40e94f88e0 Mesa depth clear fix 2016-04-01 18:24:46 -10:00
Jack Andersen 59371f5fed GL depth clear fix 2016-04-01 17:55:07 -10:00
Jack Andersen 229b0b28a8 glDrawElements fix 2016-04-01 17:32:39 -10:00
Jack Andersen d047a37e2b OpenGL depth-buffer resize fix 2016-04-01 14:03:36 -10:00
Jack Andersen 679ba36c4c Metal lambda sync 2016-03-30 11:07:12 -10:00
Jack Andersen ecc65a9fd5 D3D sync of new lambda API 2016-03-30 10:42:36 -10:00
Jack Andersen bf6b4e37e8 Major GraphicsDataFactory lambda-API refactor 2016-03-30 09:14:17 -10:00
Jack Andersen 12c3c1bd6e Optimize channel-map test 2016-03-24 16:19:34 -10:00
Jack Andersen 9ff168df2d D3D sync 2016-03-23 22:34:03 -10:00
Jack Andersen 4d33cec75c Add selectable topology to Vulkan 2016-03-23 22:15:15 -10:00
Jack Andersen 6600ff208c Draw primitive now settable via pipeline object 2016-03-23 22:05:19 -10:00
Jack Andersen ca38805776 AudioQueueServices VoiceEngine implemented 2016-03-23 16:50:36 -10:00
Jack Andersen 5cec033f18 ALSA usage tweak 2016-03-23 15:55:39 -10:00
Jack Andersen 290d40641d WASAPI VoiceEngine implementation 2016-03-23 15:50:34 -10:00
Jack Andersen 1eb46301c0 Overhauled audio system, now with internal mixing and sample-rate-conversion 2016-03-23 14:01:57 -10:00
Jack Andersen 5b275866a7 soxr cmake fixes 2016-03-22 21:01:25 -10:00
Jack Andersen 93b9b51652 Dropping XAudio2 for WASAPI for the benefit of Win7 builders/users 2016-03-22 16:00:45 -10:00
Phillip Stephens 80b4a7e06a Maximize fix 2016-03-17 14:03:38 -07:00
Jack Andersen 85f9a633f0 Update depreciated Vulkan enum 2016-03-14 13:31:43 -10:00
Jack Andersen 0dfab1fdad AudioQueueServices fix 2016-03-08 11:18:38 -10:00
Jack Andersen 1b3209f4bf XAudio2 voices and D3D dynamic textures implemented 2016-03-08 10:28:44 -10:00
Jack Andersen e1964f57a9 Updates to support pumped audio voices (ALSA only for now) 2016-03-07 21:09:58 -10:00
Jack Andersen b180b5535b Fix dynamic textures for OpenGL 2016-03-07 12:47:45 -10:00
Jack Andersen 5603164a2d Update LICENSE date and Vulkan tweaks 2016-03-06 17:09:46 -10:00
Jack Andersen 8ac929d140 Humungous refactor 2016-03-04 13:02:18 -10:00
Jack Andersen 94343c645a Geometrically correct viewport rectangle clamp for D3D 2016-02-26 16:02:54 -10:00
Jack Andersen cf9e9d80eb OpenGL and Metal viewport rectangle fixes 2016-02-26 15:38:13 -10:00
Jack Andersen 8296514a61 Blit rectangle fixes 2016-02-26 10:16:21 -10:00
Jack Andersen 483de21103 Metal resolveBindTexture implementation 2016-02-25 22:01:46 -10:00
Jack Andersen b1481f9043 D3D resolveBindTexture fixes 2016-02-25 19:35:12 -10:00
Jack Andersen 0eb11ef78a D3D resolveBindTexture implementation 2016-02-25 14:11:09 -10:00
Jack Andersen 48eab88cfc Update signature of VulkanCommandQueue::resolveBindTexture 2016-02-24 19:14:59 -10:00
Jack Andersen 7bdabb5ed3 Metal stubs for resolveBindTexture 2016-02-24 19:06:13 -10:00
Jack Andersen fec5218666 Preparation for ResolveBindTexture test 2016-02-24 16:53:23 -10:00
Jack Andersen b11b727c4d OS X fixes 2016-02-24 11:07:48 -10:00
Jack Andersen d657f3c8f8 Windows fixes 2016-02-24 10:52:31 -10:00
Jack Andersen 478b05ceb7 GLSL compile fix 2016-02-23 17:16:38 -10:00
Jack Andersen 6de30424e3 GLSL bindings and Vulkan bug fixes 2016-02-23 17:11:58 -10:00
Jack Andersen 74e2f47bcf Tons of Vulkan bug fixes 2016-02-22 15:13:03 -10:00
Jack Andersen ae487b70f3 Xlib integration of Vulkan 2016-02-21 16:47:45 -10:00
Jack Andersen f9c681bef9 Update glslang 2016-02-20 20:36:13 -10:00
Jack Andersen 1037b37f9a Major Vulkan commit 2016-02-20 20:27:54 -10:00
Jack Andersen 8bfb883d59 D3D12 DXT1 shader-resource-view 2016-02-18 10:51:44 -10:00
Phillip Stephens 38326298a9 mend 2016-02-18 06:34:34 -08:00
Phillip Stephens 5b552cdc5d Fix communication with devices 2016-02-18 06:25:47 -08:00
Phillip Stephens 53fec8ac43 Add timeout to ioctl requests 2016-02-18 06:14:59 -08:00
Jack Andersen d75a727a5d D3D static texture no-context loading 2016-02-16 17:35:10 -10:00
Jack Andersen 77e9492b43 better OpenGL mipmap configuration 2016-02-16 09:41:16 -10:00
Jack Andersen e9bd443e49 Merge branch 'master' of https://github.com/AxioDL/libBoo 2016-02-15 19:47:40 -10:00
Jack Andersen 1ab63cfb18 No-context texture constructor (OpenGL only for now) 2016-02-15 19:47:09 -10:00
Phillip Stephens c82815c476 Reimplement context selection for linux 2016-02-15 09:53:54 -08:00
Jack Andersen 8ce4e6ffd3 Merged MS' newly-licensed d3dx12.h 2016-02-02 13:40:36 -10:00
Phillip Stephens e3f20652db Merge commit 'e792f8d' 2016-01-31 00:37:51 -08:00
Phillip Stephens e792f8d581 FreeBSD Stubs 2016-01-31 00:37:23 -08:00
Jack Andersen 70c4443eb7 Revert refactor collateral 2016-01-29 15:45:40 -10:00
Jack Andersen 9e543102fe Initial XAudio2 implementation 2016-01-29 15:39:38 -10:00
Jack Andersen 502debaedd Initial AudioQueueServices implementation 2016-01-28 15:17:19 -10:00
Jack Andersen 43376ff416 Initial audio interface classes 2016-01-28 13:53:51 -10:00
Jack Andersen be37b22dd5 Win32 default arrow cursor 2016-01-27 17:39:04 -10:00
Jack Andersen b837af8690 Add optional icon loading for new windows 2016-01-27 13:25:30 -10:00
Jack Andersen a35119e849 Window icon loading 2016-01-27 09:26:45 -10:00
Jack Andersen 2f254dc955 D3D11/12 mipmapping fixes 2016-01-19 10:30:51 -10:00
Jack Andersen ca105fcde6 CocoaWindow bug fix 2016-01-15 20:11:25 -10:00
Jack Andersen 056eef542b Add horizonal mousewheel scrolling 2016-01-14 20:51:30 -10:00
Phillip Stephens bd4e898f8f Merge commit 'dc3f289' 2016-01-14 16:25:02 -08:00
Phillip Stephens dc3f2897e8 Remove superfluous X{Un}LockDisplay 2016-01-14 16:24:11 -08:00
Jack Andersen 5a2fb0768b Preliminary Vulkan shader pipeline factory 2016-01-14 12:46:05 -10:00
Jack Andersen a530e04280 Add glslang submodule 2016-01-13 15:20:25 -10:00
Jack Andersen 9b416c6549 NSPtr is unnecessary with ARC enabled 2016-01-11 12:26:40 -10:00
Jack Andersen 5550909f7e Defer Cocoa window destuction post-iteration 2016-01-09 22:01:09 -10:00
Jack Andersen f20c1bcfc2 Add crosshairs mouse cursor 2016-01-09 20:42:00 -10:00
Jack Andersen 5485e7d2b1 OpenGL storage reuse with glBufferSubData 2016-01-07 14:04:37 -10:00
Jack Andersen c96f961c4d Made IM context optional functionality 2016-01-06 11:02:23 -10:00
Jack Andersen 4b99795b61 Brought Cocoa rectangle inits in sync 2016-01-02 18:05:21 -10:00
Jack Andersen 7eeebce37c Minor Xlib refactor 2016-01-02 13:10:35 -10:00
Jack Andersen 6ee5e9011b D3D11 Buffer update fix 2016-01-02 11:16:50 -10:00
Jack Andersen bcfff2bf7f Fix Win32 repeat key test 2016-01-01 18:15:41 -10:00
Jack Andersen 9c17350524 Add system scroll-acceleration property 2015-12-31 14:15:34 -10:00
Jack Andersen ce9d877cfa Additional cocoa events; Metal present fix 2015-12-31 10:20:38 -10:00
Jack Andersen 53ad4df63d D3D Scissor fix and Scroll events 2015-12-30 20:34:26 -10:00
Jack Andersen 1c53398b75 Additional ARC header check for Cocoa 2015-12-30 18:54:11 -10:00
Jack Andersen e21074ce57 cleaner OS X character handling 2015-12-27 14:23:15 -10:00
Jack Andersen 30fd4c0709 Win32 Text input in sync 2015-12-27 14:02:16 -10:00
Jack Andersen 52692b0459 Xlib in sync with new text system 2015-12-27 13:23:17 -10:00
Jack Andersen 9f9ff269fe More TextInput implementation 2015-12-26 18:20:07 -10:00
Jack Andersen fb1282c3e4 initial TextInput context callback 2015-12-25 19:21:13 -10:00
Jack Andersen 92c47a5e77 Win32 IM and clipboard support 2015-12-24 15:08:46 -10:00
Jack Andersen a933edcc40 Working Input Method support 2015-12-24 10:55:23 -10:00
Jack Andersen aab693ff2f Clipboard support for Xlib; initial IM support 2015-12-23 17:30:52 -10:00
Jack Andersen 1ed592e0a1 Xlib input text-case handling 2015-12-22 20:10:46 -10:00
Jack Andersen fd01dbb17a Brought windows in sync 2015-12-20 15:06:08 -10:00
Jack Andersen 0b80cafe92 concurrency fix for post-frame resize handler 2015-12-20 14:55:18 -10:00
Jack Andersen 01ab873e06 OS X updates; post-frame handler event 2015-12-20 14:40:52 -10:00
Jack Andersen 886ae22e08 [Win32] Proper handling of character case for keyboard events 2015-12-20 12:52:48 -10:00
Jack Andersen 511ac1fad7 Add ibeam cursor for Xlib 2015-12-19 18:39:48 -10:00
Jack Andersen 8a33d74c13 OS X thread-local fixes 2015-12-18 11:33:53 -10:00
Zero-One101 68a1e9150e Fixed debug statement 2015-12-18 05:39:00 +00:00
Jack Andersen 7153168a2c Added debug assert to D3D 2015-12-17 18:55:06 -10:00
Jack Andersen aa787eb427 IGraphicsDataToken rename 2015-12-17 17:25:23 -10:00
Jack Andersen 11cc456b4e Fix release derp 2015-12-17 12:10:14 -10:00
Jack Andersen bb35ded399 handy debug assert 2015-12-17 11:29:47 -10:00
Jack Andersen 916002f9da Thread safety updates for D3D 2015-12-14 09:19:29 -10:00
Jack Andersen 7224d5fdf7 Thread safety additions for OpenGL 2015-12-13 18:54:57 -10:00
Jack Andersen 2983262173 Metal window resize fixes 2015-12-09 12:23:22 -10:00
Jack Andersen 9baff7a2bc Protecting D3D11 client dynamic buffers 2015-12-09 11:02:04 -10:00
Jack Andersen 9485f5d115 Much more stable D3D11 backend 2015-12-08 19:52:51 -10:00
Jack Andersen 41ebfe872a Countdown-deferred deletion added 2015-12-08 19:23:15 -10:00
Jack Andersen e43b3671b3 D3D12 render-target delete fix 2015-12-08 15:04:06 -10:00
Jack Andersen 6062302816 D3D Crash fix for large array textures 2015-12-08 13:57:16 -10:00
Jack Andersen 3e4ed5ad1f OpenGL deferred delete fix 2015-12-07 15:49:17 -10:00
Jack Andersen b579e20bc6 Merge branch 'master' of https://github.com/AxioDL/libBoo 2015-12-05 15:26:02 -10:00
Jack Andersen ae790866e5 Destructor order fix 2015-12-05 15:25:43 -10:00
Jack Andersen 3daa5df720 Brought Metal renderer in sync 2015-12-04 15:12:52 -10:00
Jack Andersen db40c2bff0 Brought D3D11/12 in sync 2015-12-04 15:03:44 -10:00
Jack Andersen d145e15ecb IGraphicsDataToken and IGraphicsCommandQueue::stopRenderer() 2015-12-04 14:41:30 -10:00
Jack Andersen 32d4797ac6 signed window coordinates for cocoa 2015-12-03 16:26:10 -10:00
Jack Andersen 36c05662b8 signed window coordinates for Win32 2015-12-03 15:54:48 -10:00
Jack Andersen be7d0fce3f Window coordinates now signed throughout for Xlib 2015-12-03 15:33:43 -10:00
Jack Andersen fc4234708f Brought metal in sync 2015-12-02 12:25:30 -10:00
Jack Andersen d0bdb40f0e Brought D3D in sync with GL update 2015-12-02 12:04:24 -10:00
Jack Andersen 13cf33d75f Internal dynamic buffer updating (OpenGL only) 2015-12-02 11:09:49 -10:00
Jack Andersen cd4df5cb27 Cocoa callback check 2015-12-01 17:06:14 -10:00
Jack Andersen c34b93f00f Windows bug fixes 2015-11-30 14:33:14 -10:00
Jack Andersen 41256d2673 Added cocoa cursor methods 2015-11-29 17:41:03 -10:00
Jack Andersen 66c2cbdf14 Proper dynamic buffer sync 2015-11-29 16:37:46 -10:00