Lioncash
4d91a1b3c3
BooObject: Make atomic ordering constraints less strict
...
Increasing a reference count is able to always be relaxed. New
references to an object can only be formed from an existing reference.
The passing of an existing reference from one thread to another will
already necessitate the use of synchronization primitives, so this is a
safe change to make. Regardless, nothing other than the object itself
directly relies on the reference count, so this will always be a
suitably atomic operation, even in the face of no synchronization
primitives.
In the case of decrementing the reference count, it's sufficient to
treat it with release semantics and follow it up with an atomic thread
fence. This ensures that all accesses to the object in one thread will
occur before the delete occurs in another thread (if the situation ever
occurs).
This should make for a slightly more efficient increment and decrement.
2019-08-17 13:08:10 -04:00
Phillip Stephens
c33604b8cb
Merge pull request #19 from lioncash/move
...
DeviceToken: Amend move constructor
2019-08-16 18:34:22 -07: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
3c9866d697
DeviceToken: Amend move constructor
...
The default move constructor isn't const qualified. The copy assignment
operator wasn't deleted either which is somewhat dangerous. We can also
opt for simply defaulting the move constructor and assignment operators
instead of defining the move constructor like a copy constructor.
2019-08-16 04:49:48 -04:00
Phillip Stephens
0121d355c4
Fix missed override declarations
2019-08-13 14:39:45 -07:00
Phillip Stephens
5cff0c19bd
Merge pull request #17 from lioncash/override
...
General: Make use of override where applicable
2019-08-13 14:29:47 -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
c5f8a11850
Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/boo
2019-06-20 20:01:43 -10:00
Jack Andersen
8a181b96ce
Add areShadersReady poll function
2019-06-20 20:01:27 -10:00
Phillip Stephens
6d3e97e959
Merge commit '87138bb'
2019-06-20 15:43:45 -07:00
Phillip Stephens
87138bbe0e
Compile fixes
2019-06-20 15:43:27 -07: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
e7a4648968
Update logvisor
2019-05-09 18:09:54 -10:00
Jack Andersen
b340a8a42e
Raise max texture count to 12
2019-05-09 18:07:13 -10:00
Jack Andersen
3ad748f28b
Increase max texture count to 12
2019-05-07 17:46:31 -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
66cf60ea55
No overwrite alpha by default
2019-02-26 18:35:21 -10:00
Jack Andersen
f8b22ecb13
Correct nanosleep usage
2019-02-23 21:14:27 -10:00
Jack Andersen
e75735d246
Update logvisor
2019-02-17 19:46:19 -10:00
Jack Andersen
1c21519d5d
Implicit switch fallthrough refactor
2019-02-17 19:44:20 -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
9658d1372d
Additional methods for SScrollDelta
2019-01-21 18:23:22 -10:00
Jack Andersen
8333536a7c
VertexFormatInfo constructor tweak
2019-01-02 17:46:48 -10:00
Jack Andersen
cc0620e8f7
SOXR build system minimization
2018-12-30 19:00:37 -10:00
Jack Andersen
3a8defb5eb
Minor bitwise enum macro change
2018-12-15 20:30:13 -10:00
Jack Andersen
058ea23a00
New code style refactor
2018-12-07 19:17:51 -10:00