Commit Graph

622 Commits

Author SHA1 Message Date
Lioncash f5afb028de D3D11: Resolve variable shadowing within setScissor()
We can simply remove the outer-most variable, since it's not used
anywhere.
2019-08-24 18:55:56 -04:00
Lioncash 4521acd30f D3D11: Make use of std::array where applicable
Makes the arrays strongly-typed and enforces explicit array->pointer
decay. It also allows querying the array size, which can allow us to
easily dehardcode magic values within code.
2019-08-24 18:55:50 -04:00
Lioncash f1ad7e5ef0 General: Correct fmt specifiers
Corrects a few fmt calls to use fmt's specifiers. This also converts
instances of printf over to fmt::print
2019-08-24 17:12:49 -04:00
Lioncash baff71cdc3 General: Tidy up includes
Alphabetizes includes and resolves quite a few instances of indirect
inclusions, making the requirements of several interfaces explicit. This
also trims out includes that aren't actually necessary (likely due to
changes in the API over time).
2019-08-19 21:02:56 -04:00
Phillip Stephens daca17e866 Add equality operators to ObjectToken 2019-08-18 12:36:56 -07:00
Lioncash 90485ac1b9 DeviceFinder: Make use of unordered_map's emplace within _insertToken
Same thing, but less reading.
2019-08-18 05:50:37 -04:00
Lioncash 6cc5b30127 DeviceFinder: Invert conditionals within _insertToken and _removeToken
By converting the conditions into guard clauses, we can eliminate some
code nesting.
2019-08-18 05:48:57 -04:00
Lioncash 9853a97dd2 DeviceFinder: Move includes into cpp file where applicable
Avoids over-exposing inclusions that don't need to be propagated across
headers.
2019-08-18 05:45:13 -04:00
Lioncash 84f62a0f2c BooObject: Remove destructorLock()
Now that we have the fencing and atomic operations in place to ensure
access to data on other threads will always occur before the use of
delete, we can remove the destructor lock. This will be useful for
making ObjToken's move assignment operator noexcept.
2019-08-17 14:12:23 -04:00
Lioncash 88355ada5f General: Convert typedefs into using aliases 2019-08-16 18:27:23 -07:00
Lioncash 78ce16aa9f General: Make use of nullptr where applicable 2019-08-16 18:27:23 -07:00
Lioncash 386ec8e6cc General: Add missing override specifiers
Adds override specifiers that I missed for other platforms when
initially applying them to the codebase.
2019-08-16 18:27:23 -07:00
Lioncash 80c1103b44 General: Make member functions const where applicable
These functions don't modify instance state, so they can be marked
const.
2019-08-16 18:27:23 -07:00
Phillip Stephens 1822b555fa Fix missed override declarations 2019-08-16 18:27:23 -07:00
Lioncash d4cd2b4dce General: Make use of override where applicable
Continues the override modernizations, but now targeting boo.
2019-08-12 22:44:45 -04:00
Jack Andersen af50bc0bc2 Windows build fixes 2019-07-27 15:19:25 -10:00
Jack Andersen ae5d7e5131 Add support for debug groups in OpenGL and Vulkan 2019-07-20 22:41:07 -10:00
Jack Andersen deefc8e995 Massive fmtlib refactor 2019-07-19 18:22:36 -10:00
Jack Andersen b2bf7549f5 Use Vulkan API version 1.1 2019-07-06 22:20:41 -10:00
Phillip Stephens 56439646b2 Proper macOS fixes >.< 2019-06-30 21:02:19 -07:00
Phillip Stephens 8523fcbb78 Actually fix Metal compiling 2019-06-30 20:40:03 -07:00
Phillip Stephens 35732d33f5 Fix macOS and Windows builds 2019-06-30 20:13:12 -07:00
Jack Andersen 8a181b96ce Add areShadersReady poll function 2019-06-20 20:01:27 -10:00
Jack Andersen e0674ff957 Made two variables atomic to be safe 2019-06-15 21:12:50 -10:00
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