311 Commits

Author SHA1 Message Date
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
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
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
78ce16aa9f General: Make use of nullptr where applicable 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
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
56439646b2 Proper macOS fixes >.< 2019-06-30 21:02:19 -07:00
8523fcbb78 Actually fix Metal compiling 2019-06-30 20:40:03 -07:00
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
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
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
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
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
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
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