Commit Graph

323 Commits

Author SHA1 Message Date
Jack Andersen 3c90192351 Make shader compilation errors fatal for GL 2017-11-24 12:07:23 -10:00
Jack Andersen 49d76b84be Ensure boo IObj instances are heap-allocated 2017-11-19 13:44:46 -10:00
Jack Andersen de9159ce51 Vulkan API fixes 2017-11-18 15:31:05 -10:00
Jack Andersen a99bddc905 ClampToEdge mode for textures; cocoa termination exception fix 2017-11-16 22:55:51 -10:00
Jack Andersen bffdf43f9e Vulkan render pass fix 2017-11-16 13:48:18 -10:00
Jack Andersen 4b064a58f2 Make D3D depth range consistent with OpenGL and Vulkan 2017-11-14 21:25:28 -10:00
Jack Andersen b7646f7f9a Windows fixes 2017-11-13 17:32:44 -10:00
Jack Andersen 6950d96b46 Linux build fixes 2017-11-12 21:19:49 -10:00
Jack Andersen cb5d22eed6 string_view refactor 2017-11-12 20:13:32 -10:00
Jack Andersen 420dcee552 Metal consistency fixes 2017-11-11 19:14:10 -10:00
Jack Andersen 165314b817 Windows and Vulkan fixes for AMD GPU 2017-11-08 22:10:43 -10:00
Jack Andersen 1a2fc1d2a3 IObj destructor race condition fix 2017-11-07 21:33:10 -10:00
Jack Andersen 3cd375e67b Restore VkShaderModule caching 2017-11-07 16:24:07 -10:00
Jack Andersen 2cd7de7a28 Clear Vulkan resources if command buffer abandoned 2017-11-06 22:04:44 -10:00
Jack Andersen 6c3a35f15d Finish object tracker for remaining platforms 2017-11-05 20:53:54 -10:00
Jack Andersen 3a7987bb21 Object tracker bug fixes; optional metal binary shader compilation 2017-11-04 20:12:49 -10:00
Jack Andersen 021143fd89 New object management architecture for OpenGL subsystem (more platforms to come) 2017-11-02 23:39:26 -10:00
Jack Andersen 90e2df40dd Merge commit '46156' into gl-fixes 2017-11-01 23:38:22 -10:00
Jack Andersen 4615641a12 Add buffer logging 2017-11-01 23:37:50 -10:00
Jack Andersen 0f96af94f6 Addresses some resource lifetime issues in OpenGL and Vulkan 2017-11-01 23:24:50 -10:00
Jack Andersen 10364557b9 Vulkan array-texture validation fix; better handling of unsupported audio HW on ALSA 2017-10-30 17:42:41 -10:00
Jack Andersen 3c207386e7 Metal autorelease pools at API boundaries 2017-10-27 00:09:22 -10:00
Jack Andersen d1b980b529 Windows fixes; experimental UWP framework (not working) 2017-10-23 17:09:50 -10:00
Jack Andersen 41d225bd64 Use metal shading language 1.2 2017-10-21 20:09:58 -10:00
Jack Andersen 55d1a5bc93 Windows compile fixes 2017-09-30 19:31:29 -10:00
Jack Andersen 2a49a8d447 Add texture clamp mode 2017-09-30 18:23:28 -10:00
Jack Andersen 175893f055 HID parser for udev; Vulkan fixes 2017-09-15 15:55:41 -10:00
Jack Andersen 0f2a838bfb Add Cross-platform HID parser 2017-09-15 07:20:52 -10:00
Jack Andersen 5bc17c753c Remove logic defeating blend assignment 2017-09-04 21:55:17 -10:00
Jack Andersen dd6e53119a Add subtractive blending mode to backends 2017-09-04 16:59:41 -10:00
Jack Andersen 18cbfd2865 Add GEqual Z-test option for pipeline backends 2017-09-02 19:52:53 -10:00
Jack Andersen 49afde2fb9 Reinstate glFlush for buffer updates 2017-07-13 19:13:29 -10:00
Phillip Stephens a5b38596a5 Fix maxAnisotropy validation error 2017-05-09 17:00:30 -07:00
Jack Andersen 9a7cadce3a Minor Metal backend change 2017-03-19 19:08:19 -10:00
Jack Andersen 5f903c09ee Windows sync 2017-03-17 13:31:51 -10:00
Jack Andersen 05c26a535b OpenGL and metal rendering interface upgrades 2017-03-13 21:02:53 -10:00
Jack Andersen 73891af56a Add frontface culling support to Metal 2017-03-10 11:07:29 -10:00
Jack Andersen ca20aea834 Add front-face culling support 2017-03-10 10:38:00 -10:00
Jack Andersen 3b7a5781f5 OpenGL and Metal fixes 2017-03-05 13:34:24 -10:00
Jack Andersen a547eb9dbb Runtime shader cache fixes 2017-03-05 12:59:58 -10:00
Jack Andersen 03f155fcf5 Move xxhash to boo; cached shader components 2017-03-04 21:54:58 -10:00
Jack Andersen 8bcac27c10 Fix updated glew for Windows 2017-02-24 21:58:09 -10:00
Jack Andersen 0cc794f49d Update glew 2017-02-23 22:26:27 -10:00
Jack Andersen 71593afe50 More Vulkan fixes 2017-02-15 18:47:31 -10:00
Jack Andersen 3197142d1f Vulkan window resize fixes 2017-02-15 17:17:18 -10:00
Jack Andersen 9af8ec3d23 Vulkan Win32 fixes 2017-02-15 13:10:30 -10:00
Jack Andersen bb227b9cc0 Solve some D3D12 validation errors and warnings 2017-02-04 08:23:08 -10:00
Jack Andersen 4fb95046a8 Add shader dump to Metal compile failure 2017-01-29 18:14:58 -10:00
Jack Andersen ed8cc3a57b Conform D3D and Vulkan backends 2017-01-28 21:26:42 -10:00
Jack Andersen 80e93a8e38 Mipmapped array textures 2017-01-28 17:56:17 -10:00
Jack Andersen d6b54a3718 D3D11 dynamic texture load fix 2017-01-21 23:04:37 -10:00
Jack Andersen 594d590a55 D3D and Vulkan sync 2017-01-20 14:19:18 -10:00
Jack Andersen ee9f3efe61 Hold shader data bindings through to rendering worker 2017-01-19 17:52:40 -10:00
Jack Andersen f0e8e0a1fa Synchronous lifetime control of AudioQueue on macOS 2017-01-18 10:56:26 -10:00
Jack Andersen d309f124b9 More stable D3D11 resource residency 2016-12-11 13:29:08 -10:00
Jack Andersen 1177d50eda Metal pool buffers 2016-12-11 10:20:29 -10:00
Jack Andersen c057068e64 use hash table for pool buffers 2016-12-10 20:18:41 -10:00
Jack Andersen 25fadc7348 Windows sync 2016-12-10 15:50:26 -10:00
Jack Andersen fa45c6750a macOS HIDPI fixes; buffer pools 2016-12-09 16:31:50 -10:00
Jack Andersen 528c572671 Windows Fixes 2016-09-18 15:02:33 -10:00
Jack Andersen 516e5fbe0e Also restore Metal scissor rect 2016-09-11 19:34:45 -10:00
Jack Andersen 4cffc6e4ec Metal viewport restore fix 2016-09-11 19:28:54 -10:00
Jack Andersen ac98d6eac2 Metal resolveBindTexture viewport restore 2016-09-02 19:17:47 -10:00
Jack Andersen e92e6d7c4c Full spelling of 'OpenGL' for enum consistency 2016-08-23 18:33:20 -10:00
Jack Andersen c77fe94313 Disable depth clamp in Vulkan shaders 2016-08-08 08:21:14 -10:00
Jack Andersen 3d96463db7 Better Metal shader error handling 2016-08-03 13:45:52 -10:00
Jack Andersen 758be7d76c Use rectangle intersect for blitting safety 2016-08-01 19:54:01 -10:00
Jack Andersen 6c12cd0ce8 Flush out state for offset uniform bindings 2016-08-01 15:59:03 -10:00
Jack Andersen de0699ab8d D3D12 render to texture fixes 2016-08-01 13:24:01 -10:00
Jack Andersen 29364a8024 D3D sync 2016-07-31 18:32:27 -10:00
Jack Andersen 21548bada8 Use GEQUAL compare for Metal depth compare 2016-07-31 12:39:05 -10:00
Jack Andersen 2ec943f0b2 Metal platform fixes 2016-07-31 10:25:02 -10:00
Jack Andersen 0ee5944387 Comment out annoying warnings 2016-07-30 18:45:03 -10:00
Jack Andersen bec368dfe7 support for nullptr in texture binding array 2016-07-30 16:05:20 -10:00
Jack Andersen c01b0b4c6a Vulkan resolveBindTexture fix 2016-07-29 18:38:33 -10:00
Jack Andersen e70da4b4a5 Vulkan depth clear fix 2016-07-26 20:33:42 -10:00
Jack Andersen d6063f4a4d Vulkan render-target fixes 2016-07-26 18:13:34 -10:00
Jack Andersen cb2b33a42b Vulkan validation fixes 2016-07-26 17:38:00 -10:00
Jack Andersen 55be829aca Vulkan validation layer fixes 2016-07-26 16:17:16 -10:00
Jack Andersen d71c01e1d7 Smart pointer usage in Vulkan.cpp 2016-07-20 12:19:53 -10:00
Jack Andersen 66c64cde08 Fallback flow for graphics APIs 2016-07-20 07:14:18 -10:00
Jack Andersen 6473014178 Ensure MessageBox call only emitted for Windows 2016-07-17 11:18:28 -10:00
Jack Andersen 3076c0525d Add preliminary Win32 Vulkan support 2016-07-17 11:15:57 -10:00
Jack Andersen 44e8317d49 Refactor GLSL shader bindings 2016-07-07 14:05:22 -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 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 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 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 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 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 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
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
Jack Andersen 2f254dc955 D3D11/12 mipmapping fixes 2016-01-19 10:30:51 -10:00
Jack Andersen 5a2fb0768b Preliminary Vulkan shader pipeline factory 2016-01-14 12:46:05 -10:00
Jack Andersen 9b416c6549 NSPtr is unnecessary with ARC enabled 2016-01-11 12:26:40 -10:00