Commit Graph

380 Commits

Author SHA1 Message Date
gibbed f8961df221 Fix Travis complaints, as usual. 2018-05-22 06:23:37 -05:00
gibbed 200b9ddf7d [Vulkan] Add debug names for blitter. 2018-05-22 05:55:27 -05:00
gibbed 6d3146a750 [Vulkan] Add debug marker functions. 2018-05-22 05:54:42 -05:00
Dr. Chat 93b4c7133b [Vulkan] Update to Vulkan 1.1 2018-05-04 17:40:21 -05:00
Dr. Chat 61e47167c0 [Vulkan] Replace vulkan-loader with volk 2018-05-04 16:49:46 -05:00
Dr. Chat 040d8d1ade [GL4] Farewell, GL4 backend 2018-05-04 11:54:33 -05:00
Dr. Chat ef3577e45c [Vulkan UI] Fix minor bug in specifying size of queue priorities array 2018-04-29 18:25:56 -05:00
DrChat 5a831fa273 Fix UI programs on linux 2018-04-03 19:55:55 -05:00
DrChat 3fb7b9d944 [Vulkan UI] VulkanDevice::HasEnabledExtension 2018-03-03 11:53:24 -06:00
DrChat 7c5c389ce8 [Vulkan UI] Travis, why? 2018-03-03 10:09:16 -06:00
DrChat 3a0903672c [Vulkan UI] Try to fix Travis again :/ 2018-03-03 00:01:23 -06:00
DrChat 6c67fe4b29 [Vulkan UI] Fix Travis 2018-03-02 22:35:29 -06:00
DrChat 2180280c8e [Vulkan UI] Stash the last signalled fence to speed up Scavenge 2018-03-02 22:13:59 -06:00
DrChat 82e8781549 [Vulkan UI] Use an underlying queue instead of a list of pointers in CircularBuffer 2018-03-02 22:01:55 -06:00
DrChat 6e5f70d39f [Vulkan UI] WaitAndSignalSemaphore -> WaitOnSemaphore
Fix a would-be bug dealing with pWaitDstStageMask
2018-03-01 10:20:07 -06:00
DrChat 63a489d4c6 [Vulkan] Unset kBatchOwnsFence when transferring fences 2018-02-28 21:00:31 -06:00
DrChat a753dbed15 [Vulkan] Update the rest of the shaders 2018-02-24 11:15:58 -06:00
DrChat d781c7b6b1 [Vulkan] We need VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE 2018-02-24 10:28:33 -06:00
DrChat 824c39c38a [Vulkan] Get debug markers working again 2018-02-22 22:58:29 -06:00
DrChat f5ee9b256c [Vulkan] Report vkCreateDebugReportCallbackEXT error codes 2018-02-22 21:12:37 -06:00
DrChat 300656f788 Merge branch 'master' into vk_vfetch 2018-02-18 17:02:59 -06:00
DrChat 79308b477f Merge branch 'vtx_cache' 2018-02-18 16:49:32 -06:00
DrChat 7fa27343c7 [Vulkan] Declare feature samplerAnisotropy 2018-02-18 16:23:29 -06:00
DrChat 310606d0f6 Merge branch 'master' into vk_vfetch 2018-02-14 20:31:31 -06:00
DrChat 2e0f99d49d [Vulkan UI] CircularBuffer: Actually use provided alignment 2018-02-11 20:45:03 -06:00
DrChat 44e03762f6 Formatting 2018-02-10 21:08:46 -06:00
DrChat 45ba1d0bf3 [Vulkan] Enforce semicolons on VK_SAFE_DESTROY 2018-02-09 18:52:21 -06:00
Parker Lamb 53ed82db71 UI/Vulkan: Fixed graphics context recreation on HiDPI systems. 2018-01-08 16:46:07 +00:00
DrChat 10f74fc45a Merge branch 'master' into vk_vfetch
# Conflicts:
#	src/xenia/gpu/spirv_shader_translator.cc
2018-01-01 18:30:29 -06:00
DrChat 1a12d621fb [Vulkan] Remove a bunch of debug comments from blit.vert 2017-12-21 23:14:20 -06:00
DrChat 4cfe1e3203 [Vulkan] Support window scissor in IssueCopy 2017-12-21 22:38:35 -06:00
DrChat 8d7b8c2f82 [Vulkan] Do not set any blend attachments with depth blits 2017-12-21 15:43:12 -06:00
DrChat 9c48875a5d [Vulkan] SwapChain: Wait for previous commands to finish before reusing command buffers 2017-12-21 13:31:06 -06:00
DrChat 56ee88b59d [Vulkan] Enable and expect textureCompressionBC (for now) 2017-12-21 13:11:57 -06:00
DrChat cbfaffd9f3 [Vulkan] Correct a bunch of incorrect pipeline barrier stages 2017-12-21 13:11:34 -06:00
DrChat ad118fa842 [Vulkan] Fix queue priorites going out of scope prematurely 2017-12-21 12:16:22 -06:00
DrChat cd98604d89 Formatting. 2017-12-21 11:13:23 -06:00
Kitessencial 350d0e5ec2 Detect OpenGL 4.60 (#816)
* Detect OpenGL 4.60

This change allows Xenia to detect if the system has OpenGL 4.6
2017-12-21 11:05:27 -06:00
DrChat 45846f25ac [Vulkan] Support usage of the primary queue in the swap chain 2017-12-19 23:13:23 -06:00
DrChat 0a75f68e88 [Vulkan] Fix freeing the swap chain surface twice during error shutdown. 2017-12-19 23:04:43 -06:00
DrChat d791338c4d [Vulkan] Only require surface extensions on windows 2017-12-19 19:36:24 -06:00
DrChat 322317493e [UI] Implement a few pure virtual functions in linux 2017-12-19 18:19:31 -06:00
DrChat 09b3a07e3c Support rendering windowless (tested on the Vulkan backend) 2017-12-19 16:05:36 -06:00
DrChat 8fc71f6f7c [Vulkan] Error propagation for immediate-mode drawer 2017-12-19 13:43:52 -06:00
DrChat 4ca8cafc1b [Vulkan] Propagate swap chain initialization errors 2017-12-18 20:35:04 -06:00
DrChat d98344f99b [Vulkan] Log down strings when an invalid usage flag is specified. 2017-12-18 15:47:52 -06:00
DrChat b5d647d540 [Vulkan] Better handling of device lost events (present fatal error dialog) 2017-12-18 14:27:00 -06:00
DrChat 8ec8d9778f [UI] Shuffle some exit handling code around 2017-12-17 12:37:58 -06:00
DrChat 5da59a95c9 Merge branch 'linux' 2017-12-16 17:15:49 -06:00
DrChat 2f1295aeaa [Vulkan] Process a few newer error strings 2017-12-16 16:47:55 -06:00
DrChat 49287579ff [Vulkan] Robustify error handling during initialization 2017-12-16 15:14:48 -06:00
DrChat aaf281351d Format all code with new clang-format 2017-12-14 20:44:43 -06:00
DrChat 02e37be4e5 Merge branch 'linux' of git://github.com/dougvj/xenia into linux
# Conflicts:
#	.travis.yml
2017-12-14 19:20:02 -06:00
DrChat d896c1f3f0 Fix travis linting. 2017-12-14 18:45:11 -06:00
gibbed 78565e94d6 Don't set a small icon when creating the Xenia window. 2017-11-29 23:15:32 -06:00
scribam b6e7e66fbe Fix travis LINT 2017-09-20 23:29:39 +02:00
DrChat 1358b94f4d Fix lint errors :) 2017-09-03 20:02:45 -05:00
DrChat 121a2d655a Vulkan: Properly support depth writes (or blit depth images if able) 2017-09-01 18:32:55 -05:00
DrChat 4e4a1a03c1 Vulkan: Add a memory allocator and hook it up to the texture cache. 2017-08-20 20:48:36 -05:00
DrChat f162b045ff UI: Fix constant swapchain recreation after toggling fullscreen 2017-08-09 11:45:11 -05:00
gibbed 4c77616ef9 Vulkan: Suppress some warnings from validation layer. 2017-08-09 01:15:33 -05:00
DrChat c656d95345 Vk Immediate: Get Sampler 2017-08-06 18:24:48 -05:00
Dr. Chat 90bd08ffd1 UI: Update width and height for fullscreen 2017-08-03 22:47:51 -05:00
Dr. Chat 5430dd0cd0 UI: Properly size microprofile, make dpi transparent to unaware users. 2017-08-03 22:34:12 -05:00
Dr. Chat 707f4c96ba UI: Fix incorrect declarations for winapi functions 2017-08-03 22:05:02 -05:00
Justin Moore d081cf5f5c Merge pull request #743 from parkerlamb/startup_race
Prevent race condition during emulator startup (issue #702)
2017-08-03 21:36:22 -05:00
Dr. Chat b3b7acb7ca UI: Dynamic DPI scaling 2017-08-03 21:17:57 -05:00
DrChat aeb0e2557c UI: Very basic dynamic DPI support 2017-08-03 19:13:51 -05:00
DrChat d439704aa9 Vk UI: Free copy command buffer on exit 2017-08-03 16:02:13 -05:00
Doug Johnson 879d6e979f Add missing <string> include 2017-07-11 11:47:25 -06:00
Doug Johnson ae30bc1207 ui:loop_gtk: Use default thread::id constructor instead of explicit id 2017-07-11 11:47:25 -06:00
Doug Johnson 570e359caa Support vulkan xcb device for Linux 2017-07-11 11:47:24 -06:00
Doug Johnson 224c779554 Add missing climits include 2017-07-11 11:47:24 -06:00
Doug Johnson 136cc92a66 Remove platform specific headers where unnecessary 2017-07-11 11:47:24 -06:00
Doug Johnson 5d579fc846 Add Linux vulkan init routines using xcb lib 2017-07-11 11:47:24 -06:00
Doug Johnson 417eacb48c xenia: ui: Add GTK implemention of UI 2017-07-11 11:47:24 -06:00
Doug Johnson a9e5d7a496 Add GLX context for linux platform 2017-07-10 03:28:30 -06:00
Doug Johnson a63c9458cd Implement GL context for windows platform 2017-07-09 19:22:13 -06:00
Doug Johnson ce10d9bd02 Create GL context abstraction layer 2017-07-09 19:21:32 -06:00
Parker Lamb fc27b34304 UI: Prevent race condition during emulator startup. 2017-07-02 11:57:54 -05:00
IndieDriver 8e1c0201ad KeyEvent: Support modifiers / UI: Open file chooser on ctrl-O (#707)
* file chooser on ctrl-o

* typo fix
2017-06-07 13:25:38 -05:00
Dr. Chat a41cf1a9ba Vulkan UI: Properly transition the frontbuffer to avoid validation errors. 2017-05-13 10:05:02 -05:00
Dr. Chat 7fdfb90e3d Vulkan: Allow command buffer level specification on allocation rather than construction.
Free unused descriptor sets properly.
2017-05-13 10:03:59 -05:00
Dr. Chat 0c1a46d708 Vulkan UI: Set up the blitter. 2017-05-13 10:02:22 -05:00
Dr. Chat 8aac7a6007 Fix vkDebugMarkerSetObjectNameEXT for now. 2017-05-12 18:00:31 -05:00
Dr. Chat 855ebb9cfe Vulkan: Fix register constants on AMD 2017-03-13 23:43:34 -05:00
DrChat 6bbd399cfd Fix queueFlags formatting 2017-02-13 17:13:24 -06:00
DrChat c8e618852b Vulkan Immediate Drawer: Fix uninitialized flags 2017-02-13 14:47:12 -06:00
DrChat 4a99b88650 Vulkan: Fill unused descriptor array elements with a dummy image (required by API) 2017-02-13 14:46:24 -06:00
DrChat 60664d86fc Vulkan UI: Fix erroneously signaling image usage semaphore 2017-02-12 21:59:55 -06:00
DrChat c3b9d6acf8 Vulkan UI: Proper transitions for frontbuffer 2017-02-12 21:41:21 -06:00
DrChat ba8e315a69 Vulkan UI: Track if debug marker extension is enabled 2017-02-12 19:05:59 -06:00
DrChat 4ee16fd193 Vulkan UI: Fix invalid push constant usage in immediate.frag/vert (and update shaders) 2017-02-12 18:47:53 -06:00
Dr. Chat a636b3cbcf Vulkan Swapchain: Fix a few API usage errors 2017-02-11 22:17:24 -06:00
DrChat 4a2ce960e9 Vulkan UI: More explicitly define order of copy commands vs. render commands 2017-02-11 21:30:16 -06:00
Dr. Chat a16dc261da DescriptorPool fenced pool 2017-01-28 14:05:42 -06:00
gibbed 1eb0048e54 When creating a window icon from the game's icon resource, scale it to default Windows size (fixes an issue where the icon would appear larger than it should in the Volume Mixer). 2017-01-21 05:51:34 -06:00
Dr. Chat d5010fb947 Win32 UI loop: allow recursion 2016-11-23 11:53:35 -06:00
Dr. Chat 8d476fc845 Update the Vulkan loader to the latest version 2016-11-22 21:29:18 -06:00
Leighton Hancock 524ba0c88c Add file drop functionality
Adds the ability to drag and drop files from windows in order to attempt
to execute them
2016-11-14 16:50:58 +13:00
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