Lioncash
f8e827fcd4
LtRtProcessing: Make use of if constexpr in ClampFull()
...
This is a condition known at compile-time, so we can turn it into an
if-constexpr statement. We can also make use of std::clamp in this
scenario.
2019-08-24 23:12:56 -04:00
Lioncash
93045d5264
LtRtProcessing: Make ClampFull() internally linked
...
inline provides external linkage instead of internal linkage which is
more desirable here. We can enclose it within an anonymous namespace to
make it internally linked.
2019-08-24 22:58:14 -04:00
Lioncash
068ff29b44
MIDIDecoder: Use auto for iterator type
...
Same thing, significantly less reading.
2019-08-24 22:49:16 -04:00
Lioncash
e7fe7ff49f
MIDIDecoder: Make use of std::clamp() within clamp7()
...
We can simplify the implementation of clamp7() with the use of
std::clamp().
2019-08-24 22:47:09 -04:00
Lioncash
e48a094198
MIDIDecoder: Convert return value of readContinuedValue into a std::optional
...
Rather than use an out reference, we can convert the return value into a
std::optional, combining the out reference and boolean return value into
one.
2019-08-24 22:44:33 -04:00
Lioncash
64fbb923ca
MIDIDecoder: Make readContinuedValue an internal function
...
This doesn't rely on any member state, so it can be decoupled from the
interface entirely.
2019-08-24 22:39:13 -04:00
Lioncash
890ac24068
MIDIEncoder: Make use of _sendMessage overload
2019-08-24 22:26:20 -04:00
Phillip Stephens
4d1c7d444d
Merge pull request #31 from lioncash/hid
...
HIDParser: Use std::array where applicable
2019-08-24 18:06:10 -07:00
Lioncash
a3a9b1ada7
HIDParser: Use emplace() instead of insert()
...
Same thing, but shorter.
2019-08-24 20:58:56 -04:00
Phillip Stephens
eacb231fb8
Deprecate OpenGL
2019-08-24 17:57:39 -07:00
Lioncash
c8bebc9948
HIDParser: Eliminate variable shadowing
...
We can rename some locals to avoid shadowing other variables.
2019-08-24 20:55:52 -04:00
Lioncash
14369a9853
HIDParser: Use std::array where applicable
...
Same thing, but strongly enforces the type of the array. This also
allows removing the <type_traits> include, since we can just query the
size of the array.
2019-08-24 20:51:46 -04:00
Phillip Stephens
6648f9f17c
Merge pull request #29 from lioncash/gl
...
GL: Use std::array where applicable
2019-08-24 17:32:49 -07:00
Phillip Stephens
6a62f96ea8
Merge pull request #28 from lioncash/array
...
D3D11: Make use of std::array where applicable
2019-08-24 17:32:04 -07:00
Lioncash
ab65983750
GL: std::move vertex and fragment instances in SetupGammaResources()
...
Avoids an atomic reference count increment and decrement.
2019-08-24 20:16:04 -04:00
Lioncash
c0c353f56b
GL: Avoid casting away const
...
Resolves some -Wcast-qual warnings.
2019-08-24 20:13:57 -04:00
Lioncash
63c89a0bbf
GL: Use return value of emplace_back()
...
emplace_back() returns a reference to the emplaced element, so we can
just make use of it instead of repeatedly querying back().
2019-08-24 20:07:49 -04:00
Lioncash
e3b44edd51
GL: Use std::array where applicable
2019-08-24 19:53:23 -04:00
Lioncash
07835b58fb
GL: Make const char* pointers arrays
...
Same behavior, but only stores the string data within the executable as
opposed to the data and a pointer to it. Also makes for less reading.
2019-08-24 19:02:13 -04:00
Lioncash
8642d71e89
D3D11: Convert const char* pointers to arrays
...
Reduces binary size a little, as only the string data will be stored in
the executable and not a pointer to accompany it as well.
A trivial change that's essentially "free".
2019-08-24 18:58:50 -04:00
Lioncash
4605581d6f
D3D11: Invert conditional within setViewport()
...
Performs the same thing as the previous change, but applies it to
setViewport() instead. This also allows unindenting all code within the
function by one level.
2019-08-24 18:55:56 -04:00
Lioncash
532e58414c
D3D11: Invert conditional within setScissor()
...
Turns the condition into a guard clause, which allows unindenting all of
the code within the function by one level.
2019-08-24 18:55:56 -04:00
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