aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-05-26game_list: Implement caching for game listZach Hilman
Preserves list of add ons and the icon, which are the two costliest parts of game list population.
2019-05-26ui_settings: Add option to cache game listZach Hilman
2019-05-26loader: Move NSO module tracking to AppLoaderZach Hilman
Also cleanup of general stuff
2019-05-26vk_device: Let formats array type be deducedReinUsesLisp
2019-05-26vk_shader_decompiler: Misc fixesReinUsesLisp
Fix missing OpSelectionMerge instruction. This caused devices loses on most hardware, Intel didn't care. Fix [-1;1] -> [0;1] depth conversions. Conditionally use VK_EXT_scalar_block_layout. This allows us to use non-std140 layouts on UBOs. Update external Vulkan headers.
2019-05-26vk_device: Enable features when available and misc changesReinUsesLisp
Keeps track of native ASTC support, VK_EXT_scalar_block_layout availability and SSBO range. Check for independentBlend and vertexPipelineStorageAndAtomics as a required feature. Always enable it. Use vk::to_string format to log Vulkan enums. Style changes.
2019-05-26emu_window: Pass OnMinimalClientAreaChangeRequest argument by copyReinUsesLisp
There's no performance improvement in passing an unsigned pair by reference.
2019-05-25Merge pull request #2516 from lioncash/labelbunnei
renderer_opengl/utils: Use a std::string_view with LabelGLObject()
2019-05-25Merge pull request #2509 from lioncash/aocbunnei
service/aoc_u: Minor cleanup
2019-05-25Merge pull request #2511 from lioncash/file-strbunnei
common/file_util: Minor cleanup
2019-05-25core_timing_util: Silence sign-comparison warningsLioncash
We can just make the conversion explicit instead of implicit here to silence -Wsign-compare warnings.
2019-05-25loader/nso: Silence sign-comparison warningLioncash
This was previously performing a size_t == int comparison. Silences a -Wsign-compare warning.
2019-05-25yuzu_cmd: Split emu_window OpenGL implementation into its own fileReinUsesLisp
2019-05-25prepo: Save reports from PlayReport serviceZach Hilman
Logs a lot of seemingly innocuous telemetry games generate.
2019-05-25fatal: Save report on fatal:u callZach Hilman
Matches offical behavior with creport and replaces old log/text based report system.
2019-05-25service: Save report on unimplemented function callZach Hilman
2019-05-25applets/error: Save report on error appletZach Hilman
This matches official behavior with the erpt/eclct/eupld service chain.
2019-05-25applets: Save report on stubbed appletZach Hilman
This also reworks the applet data storage to be peekable.
2019-05-25svc: Save report on call to svcBreakZach Hilman
2019-05-25core: Add Reporter class to take/save reportsZach Hilman
2019-05-25qt: Make UI option for 'Reporting Services' temporaryZach Hilman
Reports are unnecessary for normal users and this is to prevent 'power' users from enabling the feature by accident.
2019-05-25settings: Add 'Reporting Services' config optionZach Hilman
Full enable/disable for all reports.
2019-05-25arm_interface: Expand backtrace generationZach Hilman
Returns results as a vector of entries for further processing. Logs addresses, offsets, and mangled name.
2019-05-25core: Track load offsets of NSO modulesZach Hilman
Needed for backtrace decomposition
2019-05-25configure_hotkeys: Remove unnecessary Settings::Apply() callLioncash
Nothing from the hotkeys dialog relies on this call occurring, and is already called from the dialog that calls applyConfiguration().
2019-05-25configure_hotkeys: Tidy up key sequence conflict error stringLioncash
Avoids mentioning the user and formalizes the error itself.
2019-05-25configure_hotkeys: Change critical error dialog into a warning dialogLioncash
critical() is intended for critical/fatal errors that threaten the overall stability of an application. A user entering a conflicting key sequence is neither of those.
2019-05-25configure_hotkeys: Move conflict detection logic to IsUsedKey()Lioncash
We don't need to extract the entire set of hotkeys into a list and then iterate through it. We can traverse the list and early-exit if we're able to.
2019-05-25configure_hotkeys: Remove unused EmitHotkeysChanged()Lioncash
1. This is something that should be solely emitted by the hotkey dialog itself 2. This is functionally unused, given there's nothing listening for the signal.
2019-05-25sequence_dialog: Reorganize the constructorLioncash
The previous code was all "smushed" together wasn't really grouped together that well. This spaces things out and separates them by relation to one another, making it easier to visually parse the individual sections of code that make up the constructor.
2019-05-25sequence_dialog: Remove unnecessary horizontal specifierLioncash
QDialogButtonBoxes are horizontal by default.
2019-05-24renderer_opengl/utils: Use a std::string_view with LabelGLObject()Lioncash
Uses a std::string_view instead of a std::string, given the pointed to string isn't modified and is only used in a formatting operation. This is nice because a few usages directly supply a string literal to the function, allowing these usages to otherwise not heap allocate, unlike the std::string overloads. While we're at it, we can combine the address formatting into a single formatting call.
2019-05-24Merge pull request #2513 from lioncash/stringbunnei
yuzu/main: Specify string conversions explicitly
2019-05-24Merge pull request #2358 from ReinUsesLisp/parallel-shaderbunnei
gl_shader_cache: Use shared contexts to build shaders in parallel at boot
2019-05-24yuzu/configuration/configure_graphics: Eliminate type narrowing in a connect ↵Lioncash
call A checkbox is able to be tri-state, giving it three possible activity types, so in the connect call here, it would actually be truncating an int into a bool. Instead, we can just listen on the toggled() signal, which passes along a bool, not an int.
2019-05-24yuzu/CMakeLists: Disable implicit QString conversionsLioncash
Now that all of our code is compilable with implicit QString conversions, we can enforce it at compile-time by disabling them.
2019-05-24yuzu/applets/software_keyboard: Remove unused assert headerLioncash
This isn't actually used anywhere, so it can be removed.
2019-05-24yuzu/applets/software_keyboard: std::move argument in MainWindowFinishedText()Lioncash
Given the std::optional can contain an object type that heap allocates, we can use std::move to avoid an unnecessary copy/allocation from occurring.
2019-05-24yuzu/applets/software_keyboard: Resolve sign mismatch comparisonLioncash
Qt uses a signed value to represent container sizes, so this was causing a sign mismatch warning.
2019-05-24yuzu/applets/software_keyboard: Specify string conversions explicitlyLioncash
Allows the software keyboard applet code to compile with implicit string conversions disabled.
2019-05-24yuzu/applets/error: Specify string conversions explicitlyLioncash
Allows the error applet to build successfully with implicit string conversions disabled.
2019-05-24yuzu/main: Specify string conversions where applicableLioncash
2019-05-24Merge pull request #2485 from ReinUsesLisp/generic-memorybunnei
shader/memory: Implement generic memory stores and loads (ST and LD)
2019-05-24Merge pull request #2504 from lioncash/configbunnei
yuzu/configuration/config: Specify string conversions explicitly
2019-05-24Merge pull request #2489 from FearlessTobi/port-4716bunnei
Port citra-emu/citra#4716: "HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread"
2019-05-24gl_shader_decompiler: Use an if based cbuf indexing for broken driversReinUsesLisp
The following code is broken on AMD's proprietary GLSL compiler: ```glsl uint idx = ...; vec4 values = ...; float some_value = values[idx & 3]; ``` It index the wrong components, to fix this the following pessimized code is emitted when that bug is present: ```glsl uint idx = ...; vec4 values = ...; float some_value; if ((idx & 3) == 0) some_value = values.x; if ((idx & 3) == 1) some_value = values.y; if ((idx & 3) == 2) some_value = values.z; if ((idx & 3) == 3) some_value = values.w; ```
2019-05-24gl_device: Add test to detect broken component indexingReinUsesLisp
Component indexing on AMD's proprietary driver is broken. This commit adds a test to detect when we are on a driver that can't successfully manage component indexing. It dispatches a dummy draw with just one vertex shader that writes to an indexed SSBO from the GPU with data sent through uniforms, it then reads that data from the CPU and compares the expected output.
2019-05-23common/file_util: Remove unnecessary return at end of void StripTailDirSlashes()Lioncash
While we're at it, also invert the conditional into a guard clause.
2019-05-23common/file_util: Make GetCurrentDir() return a std::optionalLioncash
nullptr was being returned in the error case, which, at a glance may seem perfectly OK... until you realize that std::string has the invariant that it may not be constructed from a null pointer. This means that if this error case was ever hit, then the application would most likely crash from a thrown exception in std::string's constructor. Instead, we can change the function to return an optional value, indicating if a failure occurred.
2019-05-23common/file_util: Remove duplicated documentation commentsLioncash
These are already present within the header, so they don't need to be repeated in the cpp file.