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
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
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
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
Brett Lawson
e602e9a594
common: Added vectorized byte-swapping routines.
2018-12-18 20:08:39 -08:00
Brett Lawson
0b25e69bdf
gpu/vulkan: Improved memsegment iteration.
2018-12-18 14:32:36 -08:00
Brett Lawson
097f08c270
gpu/vulkan: Fix a small performance error from by-ref lambda.
2018-12-18 14:32:36 -08:00
Brett Lawson
e812ef4a92
gpu/vulkan: Do not prepare Stream Out when it is disabled.
2018-12-18 14:32:36 -08:00
Brett Lawson
5832e44ee1
sdl/vulkan: Improved handling of frame rendering.
...
We previously were incorrectly using resources, which may
have contributed to lower frame-rates due to not being able
to render more than 1 frame at once.
2018-12-18 14:32:36 -08:00
Brett Lawson
c2c5ad3dd0
gpu/spirv: Added Origin execution mode for pixel shaders.
...
This is a requirement according to the spec. We previously
failed to set this appropriately.
2018-12-18 14:32:36 -08:00