Commit graph

5222 commits

Author SHA1 Message Date
James Benton
3489a99cf9 decaf: Fix thread safety for event listeners. 2019-01-04 19:21:44 +00:00
James Benton
e1dbf08060 decaf-qt: Implement SoftwareKeyboardDriver. 2019-01-04 19:21:16 +00:00
James Benton
a6d889e097 decaf: New software keyboard API. 2019-01-04 19:20:53 +00:00
James Benton
cce7e7be3f Initial implementation of decaf-qt. 2019-01-03 23:51:49 +00:00
James Benton
0a2ece4894 QVulkanWindow2: Add support for setting physical device features. 2019-01-03 23:51:41 +00:00
James Benton
4ca1f915df QVulkanWindow2: Add extra graphics queue for libgpu to use. 2019-01-03 23:51:34 +00:00
James Benton
d450b82554 QVulkanWindow2: Change gfxQueueFamilyIdx to also require COMPUTE + TRANSFER. 2019-01-03 23:51:27 +00:00
James Benton
49dccfbf8b QVulkanWindow2 copy of official QVulkanWindow + QVulkanWindowPrivate. 2019-01-03 23:51:20 +00:00
James Benton
2c0ab0539e cafe/kernel: Fix unset ram partition title info. 2019-01-03 23:46:38 +00:00
James Benton
0af4654c94 debugui: Fix consumption of input events when debugger is not visible. 2019-01-03 23:46:30 +00:00
James Benton
58918a4168 decaf: Fix touch screen input x / y. 2019-01-03 23:46:23 +00:00
James Benton
250ead705e decaf-sdl: Fix loading of background_colour config option. 2019-01-03 23:46:16 +00:00
James Benton
aa30e03877 decaf-sdl: Fix axis input. 2019-01-03 23:47:00 +00:00
James Benton
43dd468857 ios/mcp: Read title_id from app.xml
Fixes #513.
2019-01-03 20:51:11 +00:00
James Benton
78cf206a2f Update BUILDING.md 2019-01-03 20:51:11 +00:00
James Benton
f847bdb4db cafe/hle: Make invalid trace filter errors non-fatal. 2019-01-03 20:51:11 +00:00
James Benton
f1587ca593 Refactor configuration for libcpu, libgpu and libdecaf. 2019-01-03 20:51:11 +00:00
Brett Lawson
2d39e5177a
Updated README with Discord link. 2019-01-02 02:27:29 -08:00
James Benton
4b0f62c2d4 decaf-sdl: Move hidpi.manifest to resources folder 2018-12-30 11:01:29 +00:00
James Benton
d100b616d9 debugui: Do not use decaf debug api until it is ready. 2018-12-30 11:01:29 +00:00
James Benton
ef829822be decaf: Refactor the code analysis API. 2018-12-30 11:01:29 +00:00
James Benton
c051fd011e cpu/espresso: Add functions for disassembling branch info. 2018-12-30 11:01:29 +00:00
James Benton
c3984de38c decaf: Add pm4 capture debug API and use it from libdebugui. 2018-12-30 11:01:29 +00:00
James Benton
3a2f71fc30 Move imgui debugger to own library libdebugui. 2018-12-30 11:01:29 +00:00
James Benton
55d97d80f6 Move decafsdl_sound from decaf-sdl to common-sdl. 2018-12-30 11:01:29 +00:00
James Benton
e2b6d5c60d common-sdl/vulkan: Recreate swapchain when acquireNextImage returns OutOfDate error. 2018-12-30 11:01:29 +00:00
James Benton
e71bc450c5 common-sdl/vulkan: Recreate swapchain when a present returns OutOfDate error. 2018-12-30 11:01:29 +00:00
James Benton
f128bd3868 common-sdl/vulkan: Use dynamic scissor in render pipeline. 2018-12-30 11:01:29 +00:00
James Benton
563f2cdf65 common-sdl/vulkan: Move createRenderPass out of createSwapChain. 2018-12-30 11:01:29 +00:00
Brett Lawson
417377fe85 gpu/spirv: Possibly fixed GET_TEXTURE_INFO. 2018-12-19 23:47:01 -08:00
James Benton
9181a8b4e0 travis: Update to latest xcode 2018-12-19 10:28:30 +00:00
Brett Lawson
61b17b1104 cpu: Implemented initial support for doing write-tracking.
This is a more performant way to enable the GPU memory cache system
to keep track of data that has changed in memory and needs to be
refreshed on the GPU.
2018-12-18 20:08:42 -08:00
Brett Lawson
f7221bf939 gpu/vulkan: Improved performance of descriptor write setup. 2018-12-18 20:08:42 -08:00
Brett Lawson
c0201a6030 common: Fix exception handler always installing as first-chance handler. 2018-12-18 20:08:42 -08:00
Brett Lawson
4a553b1273 common: Moved range combiner to common library. 2018-12-18 20:08:42 -08:00
Brett Lawson
969556b3f6 gpu/vulkan: Fixed issue with objects not hashing correctly.
Many of the objects did not have unique object representations due
to padding and other things.  This caused the generated hashes to
change for the same object, causing significantly increased
resource usage.
2018-12-18 20:08:41 -08:00
Brett Lawson
f94e88c9e7 gpu/vulkan: Implemented support for push descriptors.
This is a performance optimization which enables us to
send new descriptors to the GPU without allocating a
descriptor set first.
2018-12-18 20:08:41 -08:00
Brett Lawson
1d7279ba5e gpu: Substantially refactored shader translation. 2018-12-18 20:08:41 -08:00
Brett Lawson
76c2234fc8 gpu/vulkan: Fixed memory segments hashing wrong data. 2018-12-18 20:08:41 -08:00
Brett Lawson
9af1fd7ef2 gpu/vulkan: Optimized and abstracted memory segment management. 2018-12-18 20:08:41 -08:00
Brett Lawson
0ec09fb4c0 gpu/vulkan: Optimized draw resource updating.
There are a number of changes in this commit which improve
the behaviour of the Vulkan driver related to how and when
we update per-draw resources.
2018-12-18 20:08:40 -08:00
Brett Lawson
a2925ea692 spirv: Improved shader description hashing performance. 2018-12-18 20:08:40 -08:00
Brett Lawson
221781f157 gpu: Optimized PM4 processor register handling.
Vectorized the byte swapping of values we read from the
shadow states.  Also stopped looping all the registers and
just memcpy directly instead.
2018-12-18 20:08:40 -08:00
Brett Lawson
0a90c11e61 gpu: Optimize PM4 reading with vectorized swapping and scratch. 2018-12-18 20:08:40 -08:00
Brett Lawson
45274c0a77 gpu/vulkan: Use more performant templates for RangeCombiner. 2018-12-18 20:08:40 -08:00
Brett Lawson
6a4ffd2951 gpu/vulkan: Use pipeline cache when creating pipelines.
This allows the driver to perform some kinds of optimizations when
generating the pipelines.
2018-12-18 20:08:40 -08:00
Brett Lawson
2b2155dadb gpu/vulkan: Implemented pooling for stream out context buffers. 2018-12-18 20:08:39 -08:00
Brett Lawson
9e7e16c46f gpu/vulkan: Upload stream out contexts using FillBuffer.
We previously used a staging buffer which was overkill.
2018-12-18 20:08:39 -08:00
Brett Lawson
a19a8311ed gpu/vulkan: Use power-of-2 pooling for staging buffers.
This is a significant performance optimization as it
substantially reduces our search-time when attempting to locate
an appropriate staging buffer to use for data.
2018-12-18 20:08:39 -08:00
Brett Lawson
785d219d8a gpu/vulkan: Optimized indexes with vectorized byte swapping.
We also added a cache for the last index buffer that was used
to enable subsequent draws to avoid reswapping all the indices.
2018-12-18 20:08:39 -08:00