Commit Graph

380 Commits

Author SHA1 Message Date
Dr. Chat 48f6ba747c Track batch fences with the batches. 2016-11-08 18:11:12 -06:00
Dr. Chat 391b6e9bb7 Vulkan: Include the blit shaders too! 2016-11-04 19:21:46 -05:00
Dr. Chat e46a0c50fd Vulkan: WIP Blitter 2016-11-04 19:10:24 -05:00
Dr. Chat 69be82c786 Attempt at synchronizing swap image writes between the main window and graphics backend.
Disabled for now due to device timeouts.
2016-10-21 19:44:11 -05:00
DrChat bc0ddbb05a Fix UI thread not waking up from input 2016-09-11 21:26:35 -05:00
Dr. Chat abf162c0e3 Wake the WIN32 loop from all input 2016-08-09 10:45:00 -05:00
Dr. Chat 976a317293 Whoops - a default cursor is kind of important. 2016-08-06 18:16:39 -05:00
Dr. Chat 1de47e0d17 UI: Hide the cursor after 3 seconds in fullscreen-mode. 2016-08-06 17:00:12 -05:00
Dr. Chat 83f7cc27d1 Fixed a deadlock caused by the UI thread dropping important messages 2016-08-03 18:00:32 -05:00
Dr. Chat 99090e0a22 CircularBuffer: Allow users to bind their own memory to our buffer. 2016-08-01 16:30:28 -05:00
Dr. Chat 72d83591e5 Vulkan: Synchronize copies/draws to the swap chain.
Grab RenderDoc after creating the Vulkan instance
2016-07-29 10:34:54 -05:00
Dr. Chat 99689176bc Vulkan: Fix a few validation errors 2016-07-28 00:15:23 -05:00
Dr. Chat 87c915e54d Vulkan: Re-enable the validation layers properly. 2016-07-27 23:59:25 -05:00
Dr. Chat 753911146b Update spirv-tools and add spirv-headers 2016-06-27 20:37:20 -05:00
Dr. Chat 2e34a98cef Update the vulkan loader and headers. 2016-06-17 19:32:21 -05:00
Dr. Chat 6f5f3534c4 Rebuild shaders with the latest compiler 2016-06-04 15:17:31 -05:00
Dr. Chat fd37112db8 VK Immediate Drawer: Properly transition texture layouts
Support wrapping of textures not created here
2016-05-28 10:26:40 -05:00
Dr. Chat a187a4931a Whoops - fix setting the wrong host base for some graphics allocations. 2016-05-25 13:14:03 -05:00
Dr. Chat ad83a1994d VK: Remove alphaToOne feature requirement 2016-05-24 12:53:25 -05:00
Dr. Chat 729152a58b VK: Enable independentBlend feature 2016-05-23 09:59:37 -05:00
Dr. Chat 6e21d88250 Fixup circular buffers for full rotation 2016-05-23 09:58:46 -05:00
Dr. Chat c6e905db2f Fix a memory leak in fenced pools. 2016-05-22 22:14:45 -05:00
Dr. Chat c06a7cdf81 BaseFencedPool::has_open_batch (and other uncommitted changes) 2016-05-07 19:17:56 -05:00
Dr. Chat 6101b70641 Fix the Vulkan immediate drawer not drawing lines. 2016-04-29 13:09:39 -05:00
Dr. Chat 2bd603bf18 CircularBuffer: use std::list for allocations instead of a vector. 2016-04-09 21:40:18 -05:00
Dr. Chat 4811ebc2ce BufferCache: Use a CircularBuffer as the transient buffer. 2016-04-09 21:27:32 -05:00
Dr. Chat a1c9540063 SPIR-V Validator util class 2016-04-09 18:35:00 -05:00
Dr. Chat f9a634ad25 CircularBuffer remove Discard functionality and allow rotation 2016-04-01 21:53:46 -05:00
Dr. Chat 1ea72c5e06 FencedPool::CancelBatch 2016-04-01 21:49:58 -05:00
Dr. Chat d7599c817f Formatting. 2016-03-25 16:44:25 -05:00
Dr. Chat 2bb40c122d Vulkan util Fence class 2016-03-25 16:36:21 -05:00
Dr. Chat 181b2af5a4 Vulkan Circular Buffer 2016-03-25 13:49:07 -05:00
Dr. Chat f839a1293f Add a specialized copy command buffer to the vulkan swap chain 2016-03-10 12:59:48 -06:00
Ben Vanik 62931f8c8e Adding texture setup and a dummy grid texture. 2016-02-21 19:56:23 -08:00
Ben Vanik 8bf5eba098 Capture exe with renderdoc and pass --vulkan_renderdoc_capture_all. 2016-02-21 12:44:16 -08:00
Ben Vanik 32c4f3ce24 Fixing pool shutdown. 2016-02-21 10:46:47 -08:00
Ben Vanik 769c58a9b2 Adding `xb genspirv` to do glsl->.h. 2016-02-20 16:24:42 -08:00
Ben Vanik de1e4661ff Not crashing (but also likely not working) EDRAM emulation. 2016-02-19 20:36:10 -08:00
Dr. Chat f9ca0b86a8 Query to see if the physical device supports a swapchain surface to silence a validation layer error. 2016-02-18 20:10:14 -06:00
Ben Vanik 3bf1c91eaa Those are really pointers - need those bits. 2016-02-18 16:52:52 -08:00
Ben Vanik 4c4a641096 WIP rough sketch of vulkan backend structure. 2016-02-18 16:43:41 -08:00
Ben Vanik 35e08d9428 Switching from fork to main glslang spirv builder. 2016-02-18 16:43:41 -08:00
Ben Vanik 00594da417 Adding mutliple queue/shared queue support. 2016-02-18 16:43:41 -08:00
Ben Vanik 05107d2d3e Skeleton xenia::gpu::vulkan implementation, enough to start trace viewer. 2016-02-18 16:43:41 -08:00
Ben Vanik ca5902c111 Recreate swap chain on window resize. 2016-02-18 16:43:41 -08:00
Ben Vanik a97fa36512 Fixing swap chain scissoring; surface is still not resized right. 2016-02-18 16:43:41 -08:00
Ben Vanik 9f52f2e819 Initial vulkan context and immediate drawer.
Extremely rough, just checking in so DrChat can snoop.
2016-02-18 16:43:41 -08:00
Dr. Chat 253e164753 Move EnableDepthTest functionality into a bool alpha_blend var on ImmediateDraw. 2016-02-16 18:24:37 -06:00
Dr. Chat a8dfd6a21a Add a flag to ImTextureID that disables alpha test 2016-02-16 16:43:12 -06:00
sephiroth99 1520869a82 Revert "AMD people: have at it. I ain't gonna guarantee it'll work, though."
This reverts commit 8c0614b202.

Recent changes to generated shaders require GLSL 4.50.
2016-02-08 20:40:52 -05:00
Ben Vanik 6777ce6668 Reconcile debugger and save state stuff into a single implementation.
Fixes #497 and fixes #496.
Still rough edges, but at least less duplication.
2016-01-18 11:48:21 -08:00
Ben Vanik 9c93fa5187 Cleaning up xdbf stuff.
- moving next to xex utils
- fixing error cases around icon setting (and allowing reset)
- making C++11
- abstracting a bit so future additions will be easier
- fixing non-xex uses
2016-01-10 11:04:55 -08:00
x1nixmzeng 6530b9dc49 Added callback when new module is launched
This avoids having to guess the display window title format
Also manually fixed the linting errors picked out by travis which do not
get picked up using xb format locally
2016-01-09 17:36:46 +00:00
x1nixmzeng 5fa9499a12 Community feedback
Updated naming convention
Exposed the game name to Emulator for other uses
Fixed bug with XDBF parsing
2016-01-08 22:55:37 +00:00
x1nixmzeng e4cef38d95 Formatting of changes
As per the style guide
2016-01-07 20:51:28 +00:00
x1nixmzeng effe241a11 Removed stb_image dependency
Windows actually supports PNG resources
2016-01-07 20:38:27 +00:00
x1nixmzeng 92c8409b0a Set the window icon from the module resource pool
Makes use of the stb_image library
Conversion to HICON seems to have broken somewhere
2016-01-07 01:32:56 +00:00
Ben Vanik a95be25e2f Merge branch 'linuxfix' of https://github.com/sephiroth99/xenia into sephiroth99-linuxfix 2015-12-31 14:39:23 -08:00
Ben Vanik 952d35911c Folding build_tools back into the main repo for simplicity. 2015-12-30 16:53:14 -08:00
sephiroth99 235f58d757 Add missing include for std::find 2015-12-30 17:42:18 -05:00
sephiroth99 058ae01568 Add default case which ignores other mouse buttons 2015-12-30 17:42:18 -05:00
Ben Vanik 5f61c6ad07 Adding icon. 2015-12-27 11:09:19 -08:00
Ben Vanik 484972db30 Fixed mutation of vectors during iteration. 2015-12-27 10:48:38 -08:00
Ben Vanik 0e58208add Dropping elemental-forms and swapping out with imgui.
Too much code for such little use. This should simplify porting.
2015-12-26 20:25:24 -08:00
Dr. Chat b49114bad6 GLContext: Keep track of robust access support for WasLost 2015-12-22 15:53:51 -06:00
Dr. Chat a4f6e60e20 Blitter::Draw assert on zero src texture 2015-12-22 15:44:51 -06:00
Dr. Chat 30eda6909f GLContext::WasLost - Determines if we lost the context due to a TDR or another outstanding event. 2015-12-20 21:13:51 -06:00
Dr. Chat 0c60cc5f48 Fix GLContext::AssertExtensionsPresent not clearing the context after use 2015-12-20 20:55:04 -06:00
Ben Vanik 7419e7eb4a Trace dump tool, for dumping pngs (and in the future more stuff). 2015-12-13 11:59:14 -08:00
Ben Vanik ec113275dc Making texture swizzles dynamic. Seems to fix some color swap issues.
And probably exposes many more ;)
2015-12-07 22:39:33 -08:00
sephiroth99 e8296a8608 ui/gl: GLContext: access directly class member
In ::EndSwap, dc_ class member was accessed through a function. Access
it directly like it is done elsewhere in the class.

It is also the only place where it is used, so remove the function in
question.
2015-11-30 22:59:30 -05:00
Ben Vanik 65130edaa1 First pass ShaderTranslator base type, able to disasm in msft style. 2015-11-28 16:19:04 -08:00
Ben Vanik 6a546ebe4d Shuffling spirv code so it's not tied to xe::gpu.
Will make it easier to use in standalone apps.
2015-11-24 19:49:05 -08:00
Ben Vanik 1956b8708e Fixing include orders and whitelisting others.
Will be broken until clang SVN 253772 is available on travis/snapshots.
2015-11-21 11:34:46 -08:00
Dr. Chat 3efc7f339a Make sure texture swizzles match before performing a copy 2015-11-14 22:34:34 -06:00
Ben Vanik 6c95ca1cdb Moving graphics context creation around to hide actual creation.
Makes it easier to support APIs that don't have a concept of sharing.
2015-11-10 17:38:57 -08:00
Ben Vanik ca5e8fa073 Adding a way to get an hmodule. 2015-11-09 13:59:06 -08:00
Ben Vanik 65e0e907d8 Normalizing the name of the GL window demo. 2015-11-08 19:11:44 -08:00
Ben Vanik b5a18b5462 Factoring out a lot of reusable GPU code from gl4/. 2015-11-08 11:54:36 -08:00
Ben Vanik b26f4a5719 Moving imgui input to a shared place. 2015-11-07 12:42:44 -08:00
Ben Vanik 4af6c41740 Moving profiling.h to base - UI could be separated for cleanliness. 2015-11-07 12:31:07 -08:00
Ben Vanik e16fa28822 Fixing elemental clipping. 2015-11-07 11:09:24 -08:00
Ben Vanik 91229de429 Making window demo graphics API-specific. 2015-11-07 10:53:07 -08:00
Ben Vanik f065872241 Adding window demo. 2015-11-07 10:37:46 -08:00
Ben Vanik fdf59fec5f Moving elemental to immediate drawer. 2015-11-07 09:52:57 -08:00
Ben Vanik d4356b8cfa Removing unused buffers. 2015-11-05 23:08:22 -08:00
Ben Vanik 4c2257a29d Moving imgui to the new ImmediateDrawer. 2015-11-05 23:03:02 -08:00
Ben Vanik c631b965d7 Adding generic immediate mode drawing API and migrating microprofile.
Future changes will move elemental-forms and imgui to the common API as
well.
2015-11-05 21:36:05 -08:00
Ben Vanik ee92f75a84 Updating to the latest clang-format. Make sure to update yourselves! 2015-09-22 08:26:19 -07:00
Ben Vanik 5d033f9cb3 A new debugger.
Lots of bugs/rough edges/etc - issues will be filed.
Old-style debugging still works (just use --emit_source_annotations to get
the helpful movs back and --break_on_instruction will still fire).
2015-09-20 21:31:05 -07:00
Ben Vanik 3ac83b16c8 Fix double window destroy. 2015-09-07 09:41:44 -07:00
Ben Vanik fa9c681c7c Implicit Window::MakeReady on context set. 2015-09-07 09:29:07 -07:00
Ben Vanik ec7c74d04c Ref count elemental. 2015-09-07 09:26:36 -07:00
Ben Vanik 539f69f368 Multi-window GL contexts. 2015-09-07 09:08:54 -07:00
Ben Vanik 5411b67e05 Only register window class once. 2015-09-07 09:08:38 -07:00
Ben Vanik 3e66afeb3a Don't steal focus on mouse move. 2015-09-07 09:08:27 -07:00
Ben Vanik 855ab7c040 Fixing set_bordered name. 2015-09-07 09:08:19 -07:00
Ben Vanik a1a996c1e6 Shrinking UI elements in the debugger. 2015-09-06 20:49:20 -07:00
Ben Vanik e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik 790ce8aee1 Switch back to std:: muteces. mutices. mutexen. 2015-09-06 13:34:08 -07:00
Dr. Chat 3d684ac304 Fixup the premake files 2015-08-29 22:04:12 -05:00
Dr. Chat f2b2a22687 Add gflags to projects that need it only 2015-08-29 21:16:57 -05:00
Ben Vanik b7203c2989 Logging to with a ringbuffer. Much faster. 2015-08-29 18:06:30 -07:00
Ben Vanik 8dd59d07ac Was about to update microprofile, but the new version is meh. 2015-08-29 09:41:14 -07:00
Dr. Chat c50cc1cb84 Lint. One line of lint. 2015-08-18 19:13:36 -05:00
Dr. Chat f5104af0a2 Whoops, fix AND masks 2015-08-18 19:00:57 -05:00
Dr. Chat 38064acd51 UI KeyEvent previous state and repeat count 2015-08-18 18:45:35 -05:00
Ben Vanik 8b0d4fb51c Linux tweaks. 2015-08-18 14:18:00 -07:00
Ben Vanik 03142614ec elemental-forms is mostly style-clean. 2015-08-09 12:07:07 -07:00
Ben Vanik 0686227d23 Style fixes. 2015-08-08 16:40:14 -07:00
Ben Vanik a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Ben Vanik 14beb27ebc xb style. 2015-08-07 07:56:57 -07:00
Ben Vanik 5aa50b3c18 Adding note about GPU listing. 2015-08-01 13:43:21 -07:00
Ben Vanik 8494ca2eaa clang fixes. 2015-08-01 03:55:50 -07:00
Ben Vanik abf50b477e Making shutdown clean. 2015-07-25 12:56:37 -07:00
Ben Vanik 89adaf8e85 --random_clear_color, and making default grey. 2015-07-25 12:56:21 -07:00
Dr. Chat 87ebcdea8a Fix fullscreen 2015-07-25 08:56:39 -05:00
Ben Vanik a42ab648ed Shuffling --debug around and making it work. 2015-07-22 17:26:10 -07:00
Ben Vanik a98fa47081 Merge pull request #361 from DrChat/misc_fixes
Misc fixes
2015-07-21 20:22:00 -07:00
Dr. Chat c6e6894d9d Platform window enable/disable border support 2015-07-21 22:13:06 -05:00
Ben Vanik b0c223f2d8 Removing use of glewExperimental.
The trick is setting WGL_CONTEXT_PROFILE_MASK_ARB.
Fixes #359.
2015-07-21 19:33:51 -07:00
Ben Vanik 12a29371e3 Clang fixes. 2015-07-19 18:32:48 -07:00
Ben Vanik baa86fcd1b Migrating xam UI to elemental-forms.
Fixes #345.
2015-07-19 14:43:27 -07:00
Ben Vanik 91d7acf59e Fixing some particularly bad /W4. 2015-07-18 23:04:21 -07:00
Ben Vanik 4128727f6b Cleaning up some /W4 errors. 2015-07-18 16:40:22 -07:00
Ben Vanik e0eb85bbbc Switching to premake. Probably with disasterous consequences. 2015-07-18 16:00:01 -07:00
Ben Vanik fd893f730b Shuffling files around. 2015-07-17 01:15:12 -07:00
Ben Vanik f520d3a2a4 Run with latest clang-format. 2015-07-15 22:44:30 -07:00
Ben Vanik 40621a90bd Switching to standard mutex for now (but keeping xe::mutex). 2015-07-13 21:49:32 -07:00
Ben Vanik 72ad899e9e Starting to remove windows.h includes from things. 2015-07-13 20:49:29 -07:00
Ben Vanik c6ebcd508d Double check ARB_bindless_texture.
May help #342.
2015-07-13 16:34:00 -07:00
Ben Vanik 15c17459be Massive refactoring of xenia::ui and GL swap behavior.
This seems to dramatically improve most games (especially with
--vsync=false), though it may cause swap issues with others.
New code should be easier to port, and enables elemental-forms to be
drawn for any emulator UI.
2015-07-12 22:04:17 -07:00
Ben Vanik 77894ac03a Skeleton debugger UI (playing with things). 2015-07-12 22:04:15 -07:00
Ben Vanik 9c965755c6 Simplified renderer interface. 2015-07-10 20:35:57 -07:00
Ben Vanik 6b52f2682e Fixing elemental input and using embedded resources. 2015-07-07 22:16:46 -07:00
Ben Vanik 95e2ea11eb Cleaning up paths a bit. Need to de-globalize. 2015-07-06 23:03:24 -07:00
Ben Vanik 8c0614b202 AMD people: have at it. I ain't gonna guarantee it'll work, though. 2015-07-06 18:43:50 -07:00
Ben Vanik 253a685dde Switching to my turbo badger fork. 2015-07-06 18:12:56 -07:00
Ben Vanik 4ec0655751 xe::ui control for hosting a turbobadger UI. 2015-07-01 15:58:04 -07:00
Ben Vanik dec0d12cc9 Replacing includes of windows headers with base/platform.h. 2015-07-01 09:02:04 -07:00
Ben Vanik 9efccc5f4a Removing dependencies on MainWindow. 2015-07-01 08:02:22 -07:00
Ben Vanik 4732378ba9 Removing NV command list path, as it's unused and untested. 2015-07-01 07:36:12 -07:00
Ben Vanik 0ebee76bfe Moving common GL code out of gpu/. 2015-07-01 07:29:14 -07:00
Ben Vanik 90e86d0172 Fixing stack allocation bug in file picker. 2015-06-30 16:03:05 -07:00
Ben Vanik abf47b7973 Removing utilities (that were just adding needless layers).
Progress on #294.
2015-06-27 16:27:38 -07:00
Ben Vanik 0716cf84c0 Renaming xe::fs to xe::filesystem and xe::kernel::fs to xe::vfs.
Progress on #294.
2015-06-27 13:31:21 -07:00
Ben Vanik 951b2aa5bc Show a file picker when launched with no target file.
Fixes #293.
2015-06-26 20:27:36 -07:00
Ben Vanik 9441808b40 Adding menus. 2015-06-22 23:30:34 -07:00
Ben Vanik fb1f4906d9 xb format --all (we are now format clean). Buildbot will yell at you. 2015-06-22 22:26:51 -07:00
Drew DeVault a064ba053e Add missing includes for cstring 2015-06-16 23:16:18 -06:00
Dr. Chat 23c7273481 Use F11 to fullscreen instead 2015-06-14 12:02:52 -05:00
Dr. Chat cec2e2b397 Fullscreen support with F6 2015-06-14 11:47:50 -05:00
Dr. Chat 94a075d581 Resize main window after attaching the menu 2015-06-03 12:59:36 -05:00
gibbed d1dbee2052 Consistency in memset calls. 2015-05-28 05:28:59 -05:00
Ben Vanik db3d8fdc87 Time scaling works (num pad +/- or --time_scalar=X). 2015-05-27 19:04:47 -07:00
Ben Vanik f88bf33b4f Moving threads to XHostThread and making shutdown not crash. 2015-05-19 22:20:49 -07:00
Ben Vanik 21edd65354 Fixing warnings and style. 2015-05-09 18:13:19 -07:00
Ben Vanik 5954d23438 Merge branch 'debug' 2015-05-09 18:01:40 -07:00
Ben Vanik 7a00b76a6e Debugger stuff, and changing to vcproj's/sln. 2015-05-09 17:48:12 -07:00
Dr. Chat 459024059a Setup UI menu code 2015-05-09 17:32:55 -05:00
Ben Vanik e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
Ben Vanik d76998915a Code cleanup: moving poly logging to xenia 2015-05-02 01:59:50 -07:00
Ben Vanik f7ca026db0 Code cleanup: moving poly::ui to xe::ui 2015-05-02 01:50:19 -07:00
Ben Vanik 30f7effa73 Code cleanup: removing common.h 2015-05-02 01:25:59 -07:00
Ben Vanik 727ffaa122 Various fixes and utilties. 2015-05-02 00:26:03 -07:00
Ben Vanik 41174b0e64 Hacktastic GPU trace viewer; textures, shaders, state, etc. 2015-03-01 12:26:11 -08:00
Ben Vanik 00e4a4fe1b Fix #include format. 2015-01-31 22:49:47 -08:00
Ben Vanik 76c41edfd6 Thread names. 2015-01-03 03:42:27 -08:00
Ben Vanik bbb7de6bff Red GL4.5 screen. 2014-12-31 19:26:53 -08:00
Ben Vanik 577ab0a4f1 Main window, empty GPU files. 2014-12-31 19:26:53 -08:00
Ben Vanik d839359b4a UI hacking. 2014-12-31 19:26:52 -08:00
Ben Vanik c1df273600 Moving delegate to poly. 2014-12-31 19:26:51 -08:00
Ben Vanik a0eebf8898 Removing old run loop/ref/core/etc. 2014-12-31 19:26:51 -08:00
Ben Vanik 71fab4bbb7 Adding VS2015 support. 2014-12-19 17:09:39 -08:00
Ben Vanik 6f802c2432 Fixing many clang warnings. 2014-08-21 23:10:08 -07:00
Ben Vanik 54ce9db743 Starting to remove some macros. 2014-08-16 16:57:00 -07:00
Ben Vanik 66d2336e38 More string conversion. 2014-08-16 02:50:08 -07:00
Ben Vanik bf882714d0 Cleaning up asserts and file/line macros. 2014-07-12 16:51:52 -07:00
Ben Vanik beb9bd11f0 Microprofile integration. 2014-05-28 13:59:43 -07:00
Ben Vanik 991e7d8ad3 Refactoring window stuff. Still needs some work. 2014-01-14 22:40:02 -08:00