Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:X0F:branches:Emulators
yuzu
yuzu.changes
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File yuzu.changes of Package yuzu
------------------------------------------------------------------- Thu Feb 29 15:41:09 UTC 2024 - virtuousfox@gmail.com - Update to version 0.1730+6~git20240229.9893f0a05: * "Merge Tagged PR 13018" * "Merge Tagged PR 13178" * general: workarounds for SMMU syncing issues (#12749) * vk_rasterizer: flip scissor y on lower left origin mode (#13122) * buffer_cache: avoid overflow in usage tracker (#13166) * texture_cache: use two-pass collection for costly load resources (#13096) * general: fix asan errors * renderer_opengl: declare geometry stream support in profile * settings: remove global override for smash on amdvlk * video_core: make gpu context aware of rendering program * texture_cache: do not track invalid addresses * tools: Add reset submodules script * core: hid: hid_core doesn't have access to LIBUSB * settings: enable error applet * ldn: return no connection from GetStateForMonitor * ssl: add cert store * glue: load initial year setting as s32 * acc: add account manager for acc:u1 * fs: add stubs for online web applet * erpt: stub report creation * set: add GetPlatformRegion * core: hid: Reintroduce vibration filter * service: hid: Migrate HidServer to new IPC * service: hid: Move and migrate AppletResource and ActiveVibrationDevice ------------------------------------------------------------------- Mon Feb 26 10:36:18 UTC 2024 - virtuousfox@gmail.com - Update to version 0.1726+0~git20240225.04c18c7e4: * "Merge Tagged PR 12173" * "Merge Tagged PR 12749" * "Merge Tagged PR 13096" * "Merge Tagged PR 13154" * "Merge Tagged PR 13160" * service: set: Fix GetSettingsItemValue * service: set: Enable nfc and others by default and bump version * set: fix region code for system settings * service: audio: Add missing logging properties of SetHeadphoneOutputLevelMode * service: btdrv: Add EnableRadio for Qlaunch * service: friend: Add GetFriendCount, GetNewlyFriendCount, GetReceivedFriendRequestCount, GetPlayHistoryStatistics, GetReceivedFriendInvitationCountCache for QLaunch * service: hid: Add IsAnyCustomButtonConfigEnabled for QLaunch * service: lbl: Add SaveCurrentSetting, LoadCurrentSetting and IsAutoBrightnessControlSupported for QLaunch * service: nfc: Implement SetNfcEnabled * service: npns: Add ListenTo and GetReceiveEvent for QLaunch * service: set: Add default eula setting * common/ring_buffer: Include <limits> header * android: Play vibrations asynchronously * fs: fix argument order * ci: fix mac build * fs: add ISaveDataTransferProhibiter, stub FindSaveDataWithFilter * vi: workaround conductor includes * oboe_sink: handle temporary stream creation failure * audio: fix released buffer bounds check * aoc: Rename AOC_U to IAddOnContentManager * yuzu: Fix shortcut error message * audio: add NotifyHeadphoneVolumeWarningDisplayedEvent * pctl: rewrite IParentalControlService * pctl: rewrite IParentalControlServiceFactory * pctl: move IParentalControlServiceFactory * pctl: move IParentalControlService * pctl: move types and results * psc: stub overlay notification channel * psc: rewrite IPmService * psc: move IPmControl, IPmModule, IPmService * olsc: rewrite IOlscServiceForSystemService * olsc: add IRemoteStorageController * olsc: add IDaemonController * olsc: rewrite ITransferTaskListController * olsc: rewrite INativeHandleHolder * olsc: rewrite IOlscServiceForApplication * olsc: move INativeHandleHolder, IOlscServiceForApplication, IOlscServiceForSystemService, ITransferTaskListController * fs: add missing mutex header for member (#13106) * android: Connect controllers with supported styles * android: Add additional check for hasMapping * android: Enable all controller styles on emulation shutdown * audio: format * audio: rewrite IHardwareOpusDecoder * audio: rewrite IAudioDevice * audio: rewrite IHardwareOpusDecoderManager * audio: rewrite IAudioRenderer * audio: rewrite IAudioRendererManager * audio: split IHardwarweOpusDecoder, move IHardwareOpusDecoderManager * audio: split IAudioDevice, IAudioRenderer, move IAudioRendererManager * audio: move IFinalOutputRecorderManager{,ForApplet} * audio: rewrite IAudioOutManager * audio: rewrite IAudioOut * audio: rewrite IAudioInManager * audio: rewrite IAudioIn * android: Fix extra stick setting default values * ns: fix alignment of uid type * android: Expose device name setting * android: Add StringInputSetting settings item * vi: ignore shared buffer destruction failure on termination * vi: remove superfluous locking in shared buffer manager * nvnflinger/vi: don't recreate buffer queue on open/close * Import keys from filesystem. (#13056) * android: Have input overlay follow player 1 style index (#13085) * android: Fix broken clear button check * android: Fix overlay visibility reset (#13083) * android: Show done button when configuring input overlay (#13082) * Address review comments pt. 2 * Address review comments * fs: Refactor to use cmif serialization * fs: Add FileSystemAccessor classes * Address review comments * fs: Add and use fs_save_data_types.h * fsp: Migrate remaining interfaces to cmif serialization * fsp-srv: Migrate to use cmif serialization * fsp: Move IMultiCommitManager to a seperate file * fsp: Move ISaveDataInfoReader to a seperate file * aoc: Migrate to use cmif serialization * core/aoc: Move IPurchaseEventManager to separate file * scope_exit: Make constexpr * core/CMakeLists: Sort alphabetically * shader_recompiler: throw on missing geometry streams in geometry shaders * ns: address review comments * vulkan_device: don't use fixed cap for memory limits * am: account for offset in transfer memory storage * core: hid: Remove driver errors from log * nvnflinger: check for layers before compose * android: Flip AB/XY for xbox controllers during auto-mapping * ns: rewrite IQueryService * ns: rewrite IServiceGetterInterface * ns: rewrite IApplicationManagerInterface * ns: move IDevelopInterface * ns: rewrite ISystemUpdateInterface * ns: move ISystemUpdateControl * ns: rewrite IVulnerabilityManagerInterface * ns: rewrite IReadOnlyApplicationControlDataInterface * ns: rewrite IReadOnlyApplicationRecordInterface * ns: add IDynamicRightsInterface * ns: rewrite IDownloadTaskInterface * ns: rewrite IDocumentInterface * ns: rewrite IContentManagementInterface * ns: move IFactoryResetInterface * ns: move IECommerceInterface * ns: move IApplicationVersionInterface * ns: move IAccountProxyInterface * ns: rewrite IPlatformServiceManager * ns: rename results header * android: Map touches to touchscreen * android: Show cancel button for the content install notice * android: Only do first startup automapping if nothing has been mapped * service: Change unique_ptr to make_unique in GetCacheStorageMax * file_sys: Formatting changes and use unique_ptr in GetCacheStorageMax * file_sys: Fix nacp field cache_storage_max_index datatype * android: Create lifecycle utility to simplify common StateFlow operations * service: Add proper GetCacheStorageMax implementation to IApplicationFunctions * android: Use extension functions for view visibility and text marquee * android: Move CoreErrorDialogFragment to its own file * Add check for corrupted firmware files after install. * dmnt: cheats: Fix valid address range * fsp: Add FlushAccessLogOnSdCard stub * service: Add GetCacheStorageMax stub to IApplicationFunctions * service: vi: Implement ListDisplayMode * vi: manage resources independently of nvnflinger and refactor * vi: move shared buffer management from nvnflinger * nvnflinger: convert to process * am: unify display layer management * service: audio: Rewrite IAudioController to new IPC * >.> spelling * cleanup by clang-format. * Improve behavior when one or more firmware files can't be deleted. * service: btm: Implement function needed by QLaunch * android: Input mapping * Close reference to TimeZoneBinary on game close * Implement In-app firmware installation. * hid_core: Prevent crash if we try to iterate through empty color devices list * hid_core: Use dedicated "port" for android's input overlay * config: Reset per-game profile name on load if empty * android: Allow SettingsItems to use String or StringRes * service: erpt: Implement SubmitContext * service: caps: Implement GetAlbumFIleList * service: btm: Migrate service to new IPC * service: am: Fix GetMainAppletAvailableUsers for user creation * service: am: Add QLaunch launcher * shader_recompiler: fix non-const offset for arrayed image types * Revert "shader_recompiler: use only ConstOffset for OpImageFetch" * kernel: add and enable system suspend type * service: set: Migrate ISystemSettingsServer to new IPC * vi: rewrite IApplicationDisplayService * vi: rewrite ISystemDisplayService * vi: rewrite IManagerDisplayService * vi: rewrite IHOSBinderDriver * vi: rewrite IApplicationRootService, IManagerRootService, ISystemRootService * vi: split into implementation files * vi: extract types * service: set: Migrate ISettingsServer to new interface * android: Prevent user from dismissing mod/cheat notice * android: Show cancel option for delete addons dialog * android: Swap ok and close default strings for MessageDialogFragment * android: Add screen vertical alignment setting * android: Expose FSR sharpness slider * buffer_cache: use mapped range with large vertex buffer size * device_memory_manager: skip unregistered interfaces on invalidate * android: Swap confirmation buttons for delete save data dialog * android: Extend MessageDialogFragment to support a negative action and button titles * am: move out omm interfaces to new module * am: rewrite IApplicationCreator * am: add IApplicationAccessor * am: rewrite ILockAccessor * am: rewrite IWindowController * am: rewrite IStorage * am: rewrite IStorageAccessor, ITransferStorageAccessor * am: rewrite ISelfController * am: rewrite IProcessWindingController * am: rewrite ILibraryAppletSelfAccessor * am: rewrite ILibraryAppletCreator * am: rewrite ILibraryAppletAccessor * am: rewrite IHomeMenuFunctions * am: rewrite IGlobalStateController, add ICradleFirmwareUpdater * am: rewrite IDisplayController * am: move IDebugFunctions * am: rewrite ICommonStateGetter * am: rewrite IApplicationFunctions * am: rewrite IAppletCommonFunctions * am: rewrite IAudioController * am: rewrite ISystemAppletProxy * am: rewrite ILibraryAppletProxy * am: rewrite IApplicationProxy * am: rewrite appletAE, appletOE * service: news: Stub remaining functions * yuzu: Allow non npad hotkeys and disable controller navigation requirement * service: ldn: Migrate and refractor service to new IPC * texture_cache: tweak iteration tracking change * texture_cache: avoid overestimation of ASTC texture sizes * caches: make critical reclamation less eager and possible in more cases * config: Always delete control settings in ClearControlPlayerValues * tzdb_to_nx: Update to latest * externals: Update dynarmic to 6.6.3 * am: use applet program loading for tested versions * host_shaders: add vendor workaround for adreno drivers * Texture Cache: Fix untracking on GPU remap * service: bcat: Address review issues * service: bcat: Implement news interfaces * service: bcat: Migrate and refractor service to new IPC * Fix multiplayer player count color in dark themes | Temp fix until #12744: Add green color for counts > 0 and < max_players - 1 (#12930) * am: fix focus states and display of indirect keyboard * am: stub SetMediaPlaybackState for self controller * general: add default configurations for applet mode * gpu: dependency-inject scaling/antialiasing filter state for capture layers * nvnflinger/gpu: implement applet capture * nvnflinger/gpu: implement blending * nvservices: unmap only on last container free * video_core: defensively program around unmapped device pointers * core: fix multiprocess with nce * android: Use utility function for applying view margins * android: Add thermal throttling overlay * android: Remove foreground service * service: Fix OutLargeData attributes * service: hid: Free npad applet resource * android: Fix regex for git version * android: Run OnEmulationStarted frontend callback in another thread * common: fs: Expand android macros * android: Move JNI setup and helpers to common * shared_translation: Add tooltips for general settings * service: hid: Migrate hidbus to new interface * SMMU: Ensure the backing address range matches the current * ipc: additional fixes * glue: use multi wait API * server_manager: use multi wait API * service: add os types and multi wait API * yuzu: Make controller keys easier to assign * dmnt: cheat: Invalidate cache on memory writes * shared_translation: Add tooltips for advanced graphics and system settings * shared_translation: Add tooltips for core and graphics settings * web_backend: Fix compilation * service: hid: Migrate hid debug service to new interface * service: irs: Migrate service to new interface * service: hid: Add multiprocess support to six axis input * service: hid: Ensure aruid data is initialized * Common: Rename SplitRangeSet to OverlapRangeSet * dmnt: cheat: Add pause and resume support * yuzu: Fully hide linux tab * typed_address: test values are unsigned * dmnt: cheats: Silence memory errors * shader_recompiler: use only ConstOffset for OpImageFetch * .tx/config: Use language mappings for android "tx pull" * Buffer Cache: Refactor to use Range sets instead * gdb: fix load/save of fp values in a32 * dmnt: cheats: Update cheat vm to latest version * NVDRV: Refactor HeapMapper to use RangeSets * Common: Introduce Range Sets * VideoCore: Move Slot Vector to Common * citra_qt/configure_ui: Show country of language in the combobox * ci: android: Play store publishing setup * web_backend: Sync with Citra implementation * nvnflinger: release buffers before presentation sleep * Merge pull request #12852 from Calinou/multiplayer-color-player-counts * Fix firmware timezone boot load check. * service: fs: Skip non user id folders * cmif_serialization: enforce const for references * Merge pull request #12845 from liamwhite/notif * service: use const references for input raw data * service: hid: Multiple fixes * Merge pull request #12878 from zhaobot/tx-update-20240201020554 ------------------------------------------------------------------- Sat Jan 13 00:14:59 UTC 2024 - virtuousfox@gmail.com - Update to version 0.1679+6~git20240113.9e12f0cefa: * "Merge Tagged PR 12173" * "Merge Tagged PR 12610" * "Merge Tagged PR 12612" * ci: fix file mode check in format script * ci: fix format task * externals: Update txdb_to_nx * Fix typos in src/core (#12625) * ci: make verify format workflow output more helpful * general: fix trailing whitespace * vi: connect vsync event handle lifetime to application display service interface * vi: fix name of nvnflinger * Fix "Propietary" typo elsewhere * Fix typos in video_core * service: hid: Delete shared memory handle when unused * service: hid: Make sure there's an active aruid handle * service: hid: Implement GetLastActiveNpad * service: hid: Implement AssigningSingleOnSlSrPress * service: hid: Implement SetNpadSystemExtStateEnabled * service: set: Rename files * service: hid: Implement CaptureButtonAssignment * service: set: Use official names * service: hid: Add functions needed by Qlaunch * service: hid: Handle pending delete * hid_core: Move hid to it's own subproject * android: Re-add global save manager * android: Save global config synchronously in onCloseGameFoldersFragment * frontend_common: config: Only write setting related to opened config file * android: Don't save settings on config destruction * android: Update orientation on emulation fragment start * android: Expose all orientation locking options * service: hid: Remove data races when handling shared memory * service: hid: Implement NpadResource and NpadData * android: add basic support for google game dashboard * frontend_common: config: Move WriteIntegerSetting definition to header * actions: android: Prevent resolving tag commit to PR link * actions: android: Resolve PR commits to link * actions: android: Move trigger logic to be yuzu-android specific * android: Add internal option to disable compression for zip exports * KThread: Send termination interrupt to all cores a thread has affinity to * yuzu: Use displayed port on direct connect * android: Use case-insensitive check for addon directory * android: Fix dpad position saving * Update translations (2024-01-01) * Vulkan: Only recreate swapchain if the frame is bigger than the swap image. * MaxwellDMA: Don't flush the outputs of a dma copy. * service: hid: Use applet resource to get latest shared memory handle * android: Expose touchscreen toggle * android: Don't apply material you below android 12 * frontend_common: config: Do not count "." as a special character * android: Migrate in-game overlay settings to ini * frontend_common: config: Refactor WriteSetting to stricter types * android: Migrate theme settings to ini * android: Update Kotlin version to 1.9.20 * yuzu_cmd: Report more SDL errors * Fix Wayland appId * android: Expose anisotropic filtering setting * android: Center switch setting title when no description is present * android: Pair fastmem toggle to CPU Debug toggle * jit: use code memory handles correctly * actions: android: Build relWithDebInfo on main repo * k_capabilities: simplify KTrace map skip logic * ips_layer: prevent out of bounds access with offset exceeding module size * heap_tracker: use linear-time mapping eviction * shader_recompiler: use default value for clip distances array * shader_recompiler: respect clip distance limits in indexed store * video_core: Fix buffer_row_length computation for linear compressed textures * assert/logging: Stop the logging thread and flush the backends before crashing * core: track separate heap allocation for linux * ring_buffer: Use feature macro * main: Remove unused enum * am/jit: reference memory instance from context * kernel: remove unecessary process member from handle table * service: fetch objects from the client handle table * kernel: use simple mutex for object list container * core_timing: block advance thread while clearing and signal after * core_timing: handle concurrent unscheduling of looping events * core_timing: use static typing for no-wait unschedule * core_timing: remove user data value * renderer_vulkan: skip SetObjectNameEXT on unsupported driver * renderer_vulkan: demote format assert to error log * kernel: fix resource limit imbalance * kernel: restrict nce to applications * general: properly support multiple memory instances * k_server_session: remove scratch buffer usage in favor of direct copy * k_server_session: process for guest servers * kernel: instantiate memory separately for each guest process * Settings: Indicate AMD's compatibility with SPIR-V on OGL * spirv_emit_context: Fix BaseInstance for OGL spirv * shader_recompiler: ensure derivatives for textureGrad are f32 * shader_recompiler: use float image operations on load/store when required * qt: settings: Fix per-game vsync combobox * android: Fix "No games found" text appearing on load * service: hid: Fix crash on InitializeVibrationDevice * emit_glsl_image: Use inlined texelFetch offsets * gl_device: Remove AMD blacklists that are no longer applicable * gl_rasterizer: Less spammy log for unimplemented resets * nce: hide shadowing warnings from dynarmic headers * gl_rasterizer: Implement DrawTransformFeedback macro * externals: update Vulkan-Headers to v1.3.274 * vulkan_common: unbreak build with Vulkan-Headers 1.3.274 * OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries * gl_rasterizer: Silence spammy logs * gl_buffer_cache: Reintroduce NV_vertex_buffer_unified_memory * nce: increase handler stack size * renderer_vulkan: don't pass null view when nullDescriptor is not supported * nce: fix read size in simd immediate emulation * yuzu: Read/Save category Paths * shader_recompiler: use minimal clip distance array * shader_recompiler: ignore clip distances beyond driver support level * yuzu: Make language persistent and remove symbols_path * oboe_sink: specify additional required parameters * vk_query_cache: Fix prefix sum max_accumulation_limit logic * fs: implement OpenDirectoryMode * oboe_sink: set low latency performance mode * Revert "video_core: use interval map for page count tracking" * renderer_vulkan: work around turnip binding bug in a610 * android: add oboe to audio configuration * oboe_sink: implement channel count querying * android: add oboe audio sink * renderer_vulkan: allow up to 7 swapchain images * nvnflinger: mark buffer as acquired when acquired * audio: skip coefficient normalization for downmix * Have GetActiveChannelCount return the system channels instead of host device channels ------------------------------------------------------------------- Tue Dec 19 06:31:55 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1655+2~git20231219.da7fabaf5: * "Merge Tagged PR 12173" * "Merge Tagged PR 12304" * "Merge Tagged PR 12349" * path_util: copy output for GetParentPath * set: add cstddef for offsetof macro * gl_buffer_cache: Fix tfb binding typo * ssl: fix output byte buffer size issue (#12372) * Make system settings persistent across boots * common: use memory holepunching when clearing memory * video_core: lock interval map update * video_core: use interval map for page count tracking * core: Make sure npad is initialized * renderer_vulkan: bound async presentation queue growth * core: hid: Clean up headers * service: hid: Allow to create multiple instances of shared memory * ci: fix homebrew installation issue in actions runner images * android: Rework InstallableProperty view with icon * android: Prevent editing non-savable settings in per-game settings * android: Pre-select custom config in game launch dialog * android: Use confirmation dialog when deleting shader cache * android: Always use custom settings when launched from intent * settings: Allow vsync to be changed per-game * android: Adjust variable name format for native config * android: Add game dir entries to FilesystemProvider * android: Fix games list loading thread safety * android: Collect latest information for games list * android: Remove global save import/exporter UI * android: Compare all properties between games in DiffCallback * android: Expose MemoryUtil size formatting function * android: Add JNI initialization information for Game class * settings: Allow CPU Debug and Fastmem to be changed per-game * android: Add per-game drivers * android: Add per-game settings * android: Add Game properties * frontend_common: Fix settings reload bug * android: Refactor settings to expose more options * configure_debug: Fix small typo * vcpkg: Update fmt to 10.1.1 * vi: fix confusion between closing and destroying layers * nce: adjust initialization for repeated calls * nce: implement instruction emulation for misaligned memory accesses * service: hid: Improve CreateAppletResource implementation and free resources * core: Use single instance of profile manager * sm:: fix tipc deserialization * settings: Clearer NCE error messages * ro: add separate ro service * fbshare: set external format correctly * fs: don't enumerate hidden savedata size file * service: populate pid and handle table from client * service: use interface factory in server manager * debug: fix reading of module names * android: Listen for directory selection in viewmodel * kernel: fix single core * settings: Enable NCE by default on capable systems * dist: add udev rule to enable user hidraw access (#12292) * kernel: implement light IPC * service: hid: Introduce proper AppletResource emulation * kernel: implement remaining IPC syscalls * Improve path splitting speed * codec: Update to use av frame flags * arm: fix context save of vector regs * frontend_common: Use optional for language default * core: refactor emulated cpu core activation * texture_cache: fix max_element comparison function * renderer_opengl: remove srgb conversion logic * renderer_vulkan: do not recreate swapchain for srgb * fsmitm_romfsbuild: optimize for data locality * romfs: cache file and directory metadata tables * nce: fix pre-text patch for single modules ------------------------------------------------------------------- Mon Dec 04 14:28:11 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1641+0~git20231204.cf42a4a71: * "Merge Tagged PR 12173" * file_sys: handle null romfs * texture_cache: use pedantic type names * android: Don't reload filesystem on update install * host_memory: move MAP_ALIGNED_SUPER attempt after 448d4815dece * host_memory: allow missing MAP_NORESERVE on FreeBSD after 448d4815dece * vk_blit_screen: Use correct format for fxaa renderpass * service: nfc: Don't tag amiibos as corrupted if they are loaded as read only * Merge pull request #12056 from ameerj/opengl-neglect * Update translations (2023-12-01) * renderer_vulkan: adjust window origin and swizzle independently * cmake: prefer system gamemode library * renderer_vulkan: exclude more qcom drivers from extensions * cmake: sync gamemode conditionals with code after 5eec980a2d71 * core: Rename patcher file * add mac workflow * general: conditionally compile gamemode on linux only * cmake: Move HAS_NCE to root cmake * android: Save global settings in onStop * android: Multi directory UI * set: don't load version nca with null romfs * Fixed controller applet crashing when on FW17+ * GLSL: Prefer known used cbuf sizes * qt: add cpu_backend configuration * video_core: fix mac compile * general: fix mac compile * loader: fix gcc compile * service: nfc: Validate mii data * service: am: Create random mii for cabinet applet * cmake: prefer system simpleini library * android: input: Flip abxy on backbone labs controllers * time: undef GetCurrentTime for Windows * cmake: move gamemode target include into its file * yuzu: create linux group in general settings * yuzu: integrate gamemode support on linux * android: input: Flip abxy on redmagic controllers * oaknut: Address warnings * host_memory: Simplify randomness generation * Address more review comments * loader: apply nso patch to offset program image * arm_nce: skip data aborts for crash handling parity * android: show current backend in fps overlay * arm: Print backtrace on data abort * patch: check offsets from first code word * core: Define HAS_NCE macro * common: Enforce fastmem for nce usage * arm_nce: skip dc cvac on possibly write-protected areas * Address some review comments * android: Add cpu bakend gui toggle * arm: Implement native code execution backend * device_memory: Enable direct mapped addresses for nce * externals: Add oaknut submodule * settings: Add cpu backend setting * kernel: Manually specify aslr region start * core: Respect memory permissions in Map * host_memory: Switch to FreeRegionManager * host_memory: ensure map base is between 36 and 39 bits * common: Add free region manager * common: Add libc sigaction hook * yuzu: Constrain mouse in render window when emulated * yuzu: Display firmware version * vulkan_device: add names for more driverID enumeration values * renderer_vulkan: exclude steam deck oled from force max clock setting * core: hid: Ensure output devices are initialized * query_cache: demote report synced unreachable to assert * frontend_common: Don't specify default value for screenshot_path * frontend_common: Don't load config files that we fail to open * frontend_common: Add option to read unsigned integers * game_list_worker: Explicit caputure of 'this' * shared_widget: Explicit capture of 'this' * frontend_common: Set config array size to 0 if the array is ended without changing its index * frontend_common: Manually handle opening config file * frontend_common: Add special config case for unmapped windows network drives * frontend_common: Disable UTF-8 BOM in config * android: Rework config lifecycle * android: Remove ini4j * common: settings: Add ifdefs to define android's default settings * general: Remove inih * config: Unify config handling under frontend_common * vk_texture_cache: add workaround for nullDescriptor on Mali * service: hid: Create appropriate hid resources * Stub CheckBlockedUserListAvailability * translations: Add android translations to transifex config * service: hid: Ensure resource manager is initialized * android: Use file picker intent for save exporter * gl_buffer_cache: Batch vertex/tfb buffer binding * android: Use path instead of programId for recently added / played key * android: Select recently played games by default in search tab * android: Allow up to 400% for the limit speed percent setting * Implemented qlaunch version of the controller applet * qt: fix linux build * renderer_vulkan: ignore viewport stores on non-supporting drivers * Vulkan: Be more generous with pipeline workers for Android * Buffer Cache: Eliminate clears on Indirect buffers * shader_recompiler: Fix spelling of "derivate" (#12067) * gl_graphics_pipeline: GLASM: Fix transform feedback attribs buffer mode * shader_recompiler: add byteswap pattern workaround for Nvidia * opus: fix stereo stream count check in multistream decoder object * service: hid: Introduce firmware settings and update activate controller calls * video_core: refactor video frame and packet parsing * service: hid: Implement xpad calls * service: hid: Split hid.cpp into individual interfaces * android: Disable PiP by default * Query Cache: Disable write syncing on Android * android: Don't enter PiP during startup or shutdown * android: Add drop shadow to FPS counter * fix apple clang build again * core_timing: lock event queue access * android: Use suspend function for creating dynamic shortcuts * core: check for thread dpc before eret * audio_core: ignore renderer wait when stream is paused * android: Use the same transition animation between every fragment in settings * android: Use more padding on top of each settings header * android: Remove dividers between each setting * android: Add icons and descriptions to the first-level advanced settings page * android: Remove general section from settings * android: Remove "auto" region option * Vulkan: Add a final barrier to the upload command buffer * renderer_vulkan: Introduce separate cmd buffer for uploads * android: Add a landscape-specific layout to the about page * android: Shrink logo in about page * android: Shrink logo in settings tab * android: Fix top app bar tint being cut off in the about fragment * Memory: Fix invalidation handling from the CPU/Services * core: hid: Split SL and SR buttons * yuzu: Keep homebrew on the recently played list * k_capabilities: ignore map region when KTrace is disabled * gdbstub: read module information from memory layout * service: irs: Implement moment image processor * k_page_table: fix shutdown * k_page_table: use more precise icache invalidates * kernel: add KPageTableBase * yuzu: Make mute audio persistent * yuzu: Save mute when in background setting * Revert "renderer_vulkan: add locks to avoid scheduler flushes from CPU" * android: Hide loading animation on first frame * Fix out_icon_path = Common::FS::GetYuzuPath(Common::FS::YuzuPath::IconsDir); * Minor changes * Final change, i think * CMakeLists: Add option to call lupdate directly * shared_translation: Call tr for each string * Allocate resources for test window before getting system info * Fixed clang * Update CMakeLists.txt * Update CMakeLists.txt * ci: android: Declare secrets during build step * android: Simplify FPS counter padding * android: Color the FPS counter white * service: am: Set the correct album program id * renderer_vulkan: render on bottom of surface clip when flipped (#11894) * yuzu: Only store games in the recently played list * service: acc: Ensure proper profile size * modified: src/yuzu/main.cpp * core: hid: Signal color updates * Skip git blame * Convert files to LF eol * service: hid: Silence EnableUnintendedHomeButtonInputProtection * android: Always update FPS counter * android: Don't reload log/system after loading firmware/backup * renderer_null: fix * arm: NativeClock: Special handling for bad system counter clock frequency reporting * android: Log more system information during startup * android: Fix fetching system memory size from MemoryUtil * android: Update surface parameters on emulation start * Allow 0 stereo count * service: hid: Ensure GetNextEntryIndex can't fail * core: hid: Fix wrong battery values * renderer_vulkan: minimize transform feedback support log * android: Adjust log lifecycle * android: Use yuzu logging system * android: Default to player number 0 if we get an input from an unrecognized controller * android: Adjust driver manager source string * android: Reorganize settings tab * romfs: fix extraction of single-directory root * ci: android: Use signing key if available * Update translations (2023-11-01) * android: Auto-generate locale config * android: Update translations from transifex * shader_recompiler: Align SSBO offsets in GlobalMemory functions * buffer_cache: Apply storage buffer alignment only to the offset * shader_recompiler: Align SSBO offsets to meet host requirements * android: Initialize filesystem components during application start * android: Implement applet launcher * service: am: Add support for LLE Software Keyboard Applet * qt: remove duplicate exit confirmation setting * android: Reorder controller indexes and only use controllers * android: Simplify game card layout * android: FileUtil: Add option to suppress log for native exists() calls * android: Fix resolving android URIs in native code * android: Refactor game metadata collection to new file * android: Use header for EmulationSession * Fix macOS build * android: InputHandler: Convert to object * android: Removed unused ControllerMappingHelper * nvnflinger: implement consumer abandonment * nvnflinger: use graphic buffer lifetime for map handle * android: Release touch on input overlay when opening in-game menu * android: Move game deserialization to another thread * core: Close all KEvents * renderer_vulkan: ensure exception on surface loss * Implemented wheel event for volume control in VolumeButton * android: Break home settings into grid with large screens * nvidia_flags: Enable GL Threaded optimizations * renderer_vulkan: fix FSR cropping * Adding StartupWmClass for .desktop file * renderer_vulkan: fix cropping for presentation * renderer_vulkan: fix viewport swizzle dirty state tracking * service: am: Implement ISelfController::SaveCurrentScreenshot * We dont need that * cmake: prefer system stb headers * sockets: use safe access helpers * nvdrv: rework to remove memcpy * nvdrv: fix up remaining copy calls * nvdrv: convert nvmap * nvdrv: convert codec devices * nvdrv: convert nvhost_gpu * nvdrv: convert nvhost_ctrl * nvdrv: convert nvhost_ctrl_gpu * nvdrv: add ioctl command serialization, convert nvhost_as_gpu * kernel: make sure new process is in list * vulkan_common: use highest API version * qt: fix game list shutdown crash * service: ipc: Add third read buffer index * service: caps: Implement SaveScreenShotEx0 and variants * externals: stb: Add image write * Add missing dowhile loops around FindBuffer calls * Manually robust on Pascal and earlier * externals/opus: use CMakeLists shipped with Opus itself * yuzu: Fix vibration reseting to 1% * input_common: joycon: Move vibrations to a queue * emit_glsl_warp: Fix shfl_in_bounds conditional * externals/libusb: remove the GUID override workaround ... * externals: update libusb to c060e9ce30ac2e3ffb49d94209c4dae77b6642f7 ... * externals: update VulkanMemoryAllocator to 2f382df218d7e8516dee3b3caccb819a62b571a2 * externals: update Vulkan-Headers to 1.3.265 * externals: update ffmpeg to 9c1294eaddb88cb0e044c675ccae059a85fc9c6c * externals: update vcpkg to ef2eef17340f3fbd679327d286fad06dd6e838ed * externals: update SDL to 2.28.4 * externals: update cpp-jwt to 10ef5735d842b31025f1257ae78899f50a40fb14 * externals: update cpp-httplib to 0.14.1 * externals: update libusb to 1.0.26 * externals: update inih to r57 * externals: update opus to 1.4 * yuzu: Fix restore shortcuts button * cheats: Clamp cheat names without failing * kernel: fix extraneous ref * kernel: shutdown app before gpu * kernel: signal thread on termination completed * kernel: add missing TLR clear * kernel: update KProcess * set: return version info from system archive * ts: add OpenSession * common: use SetThreadDescription API for thread names * nvnflinger: fix reporting and freeing of preallocated buffers * Manually robust on Maxwell and earlier * Reverted dirty code in main. * TODO: Implement shortcut creation for Apple. * Useless code removed related to admin privileges, if it is not an error we can add it later, that is what git is for. * Deleted admin requisite (maybe it was another mistake). * yuzu: Improve behavior when clicking on controller box in Controller applet * Final refactorization * Moved check. * More @liamwhite suggestions applied. * shortcut_stream.close(); fixed * Comment using fmt instead qt. * .clear() instead = ""; and switch improved. * More missed suggestions * Sugestions and fixes. * Some improvements (suggestions) * Less code, simpler, better. * Typing and formatting errors fixed. * Unnecessary feature removed * Fixes and improvements * Improved shortcut: add games in applist for Windows, question for start game at fullscreen & better unicode support for some Windows path funcs. * qt: implement automatic crash dump support ------------------------------------------------------------------- Sun Oct 22 00:06:30 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1596: * "Merge Tagged PR 11689" * "Merge Tagged PR 11827" * kernel: fix incorrect calculation of used non system memory value * gdbstub: add PermissionLocked to mappings table * kernel: fix format string error * kernel: make check fully constexpr for broken msvc constant folding * codespell: allow 'VAs' * k_page_table: add MapFirstGroup * kernel: update KMemoryRegionType values * k_page_table: implement PermissionLocked * k_page_table: add new CheckMemoryState helper * kernel: split Io memory state, add PermissionLocked attribute * kernel: reshuffle ini1 size, add slab clear note * service: mii: Create random mii with name * general: fix build failure on clang 17 * renderer_vulkan: add locks to avoid scheduler flushes from CPU * service: hle: Allow to access read buffer A and X directly * service: acc: Implement functions needed for profile select (#11653) * Changes based on hardware tests * Make Clang happy. * Added missing BuildShader line * added missing trailing line. * meant to add the unorms as well * use texelfetch instead of texturelod * appease the format gods * Another missing copy connected to Bravely Default II * missed this line when editing the copypasta * moved line to appease the format gods * Implement missing formats for Bravely Default 2 * input_common: udp: Avoid crash when trying to map motion before client is ready * brings back the removed If statement and adds the num_level test * host1x/codecs: enable CUDA on Linux * Implement vertex array first and subsequent draws * Revert "cmake: only add network component if qt used" * cmake: only add network component if qt used * qt: add missing target_link_libraries for discordrpc * qt: add network components when using discord * yuzu: Improve behavior when clicking on controller box in Control Configuration * audio: fix shutdown deadlock in audio renderer * fsmitm_romfsbuild: avoid unnecessary copies of vfs pointers * fix style * yuzu: Enable to use controller to restart a game * yuzu: Use new setting method for stop emulation * yuzu: Enable to use controller to close a game * Get out of render pass before query barriers, fix image names with samples > 1, remove image alias bit * video_core: Fix d24r8/s8d24 convert shader build error in moltenvk * video_core: Add missing scissor update when viewport scale offset disable * video_core: set vertex buffer num to 16, because mvk have when using more than 16 ------------------------------------------------------------------- Sun Oct 15 00:07:52 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1588: * "Merge Tagged PR 11689" * "Merge Tagged PR 11762" * "Merge Tagged PR 11778" * android: Fix incorrect assumption for driver installation validation * android: Allow ANDROID_STL * android: Remove unnecessary flag to extract native libs in AndroidManifest.xml * android: Update dependencies * externals: Update LLVM to 17.0.2 * android: Update ndk to 26.1.10909125 * Improvement in Directory Path Detection for Shortcuts (#11749) * common/polyfill_thread: use std::forward where appropriate, qualify std::move calls * qt: ensure worker cancellation is complete before clearing * android: Update AGP to 8.1.2 * android: Add GPU driver management fragment * k_page_table: add missing page group open when locking memory * service: caps: Remove ambiguous call * kernel: mark TLS accessors as noinline for non-MSVC LTO * service: caps: Fix GetAlbumFileList3AaeAruid and GetAlbumFileList0AafeAruidDeprecated * externals/nx_tzdb: Update download version to 2022g * Transition MSAA images to general layout without uploading data * externals/tzdb_to_nx: Update to 221202 * jit: add support for relr-type relocations * Do not set rescaled flag when rescaling is disabled * Fix mistaken usage of info.block instead of level_info.block * yuzu: Save multiple resolutions per icon * ci/linux: Fix find parameter order * Clear DSP buffer after each execution * ci/linux: Upload separated debug symbols * Not not allocate DeviceLocal buffers as mapped * common: add arm64 native clock * add Z32, FLOAT, UINT, UINT, UINT, LINEAR to format lookup table * service: caps: Implement album manager and reorganize service * externals: stb: Split library into cpp file * service: Stub multiple functions to increase stability of album applet * yuzu: Add desktop shortcut support for Windows * update shader to confirmed format copy * Allow GPUs without rebar to open multiple RenderDoc captures * Implement X8_D24 format * kernel: implement transfer memory * Rework nvidia architecture detection, disable push descriptor for Pascal and older * Mark a buffer GPU modified after the buffers are confirmed, do not double synch them * lets not convert depth to greyscale since this makes the exhaust and tire smoke light gray/white * Fix CI Formatting check * Implements D32_Float to A8B8G8R8_UNORM format copy * core: Update clocks when settings are saved * yuzu: Fix mute when in background setting * vk_present_manager: recreate surface on any surface loss * service: caps: Partially implement IAlbumAccessorService * yuzu: Allow to launch album applet from firmware * externals: Add stb_image and stb_image_resize * gdbserver: use numeric character references for unicode * android: Use application context for all FileUtil functions * loader: don't reassign program ID on npdm reparse * Enable depth test on stencil clear path * Reuse part of my previous idea to to use num_levels to check within AdjustMipBlockSize * Partial revert of #10433 * Address review comments * yuzu-qt: Track play time * yuzu: Enable controller interaction in Controller Applet ------------------------------------------------------------------- Sun Oct 08 00:12:49 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1580: * "Merge Tagged PR 11639" * "Merge Tagged PR 11648" * "Merge Tagged PR 11669" * ci: fix new codespell errors * qt: add additional romfs dump targets * k_page_table: skip page table clearing on finalization * fsp-srv: enable auto save data creation on init * service: nfc: Implement SetRegisterInfoPrivate mii support * service: am: Implement shared buffer * service: nvnflinger: Implement shared buffer * service: ldn: Implement lp2p:m and stub IMonitorService * service: am: Set push in arguments according to the launched applet * yuzu: Allow to launch cabinet applet from firmware * Query Cache: Fix memory leak. * Update translations (2023-10-01) ------------------------------------------------------------------- Sun Oct 01 00:07:21 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1572: * Don't send a double focus change message * service: mii: Fix reported bugs * renderer_vulkan: fix query cache for homebrew * android: Prevent crash when trying to change pages in setup fragment * android: Prevent setup fragment crash in background * android: Don't update views if binding is null in onConfigurationChanged * android: Don't wait for post to update input overlay visibility * android: Close activity with toast if emulation has no game * android: Correctly reload settings file during reset * Qt: Remove ability to install xci files * android: Remove ability to install xci files * android: Adjust failure dialogs for user data and firmware installers * android: Fix cancel behavior on indeterminate progress dialog fragment * android: Refactor zip code into FileUtil * android: Use a different string for the content install dialog * android: Fix case bug for installing game content * android: Consolidate installers to one fragment * settings_setting: Read audio engine * fsp-srv: add GetFileSystemAttribute * android: Prevent click ripple from appearing on loading card * android: Remove bottom attribute from navigation view * android: Prevent nav bar shade from laying out across screen * host_shaders: More proper handling of x2 MSAA copies * renderer_vulkan: Implement MSAA copies * android: Use measured size of view for input overlay bounds * service: mii: Limit checks to string size * service: hid: Set last connected controller as active * service: am: Stub to exit applet cleanly * service: am: Implement stuff needed for Mii Edit * service: fsp: Implement CreateSaveDataFileSystemBySystemSaveDataId and OpenSaveDataFileSystemBySystemSaveDataId * service: ns: Implement GetSharedFontInOrderOfPriorityForSystem * yuzu: Add button to boot mii edit from firmware * Query Cache: Fix Prefix Sums * Query Cache: Fix behavior in Normal Accuracy * Query Cache: Simplify Prefix Sum compute shader * Query Cache: Implement host side sample counting. * Query Cache: Fix guest side sample counting * Query Cache: address issues * QueryCache: Implement dependant queries. * Macro HLE: Add DrawIndirectByteCount * Query Cachge: Fully rework Vulkan's query cache * Query Cache: Setup Base rework * vk_texture_cache: Limit srgb block to transcoding only * Reduce core timing mutex contention * Vulkan: add temporary workaround for AMDVLK * Vulkan: Implement Depth Bias Control * core_timing: Attempt to reduce heap sifting * core_timing: Use a fibonacci heap * vcpkg: Add boost.heap * vulkan_device: Test depth stencil blit support by format * vulkan_device: Return true if either depth/stencil format supports blit ------------------------------------------------------------------- Sun Sep 24 00:08:08 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1567: * android: Use smaller read buffer size for exporting user data * android: Adjust valid user data check * emit_spirv: fix incorrect use of descriptor index in image atomics * am: mii_edit: Implement DB operations * android: Update androidx window library to 1.2.0-beta03 * Fix DMA engine register offsets * renderer_vulkan: Correct component order for A4B4G4R4_UNORM * Revert "android: Allow save imports always" * pfs: Fix reading filenames past the buffer end * android: Remove unused strings related to the save manager * android: Allow importing saves even if no saves are found * android: Add import/export buttons for user data * android: Ignore validation layers library in git * android: Don't pause emulation when entering PiP * android: Fix showing input overlay in PiP * android: Properly update emulation surface * aoc: stub purchase info calls * renderdoc: Check for `_WIN32` symbol rather than `WIN32` * service: mii: Address review comments * cmake: prefer system renderdoc header * Do not consider voice commands in time estimation, fix adpcm estimate * service: mii: Implement the rest of the service * service: mii: Implement database manager * service: mii: Implement figurine database * service: mii: Add device crc16 * service: nfc: Fully Implement GetRegisterInfoPrivate * service: mii: Complete structs and fix mistakes * android: Export PiP receiver on API 33 and later * mii_types: Remove null terminator check * android: Set up signing config for release builds * android: Use 1 worker for shader compilation for all devices * registered_cache: correct file deletion case * android: Collect task state once view is created * Reimplement HardwareOpus * service: hid: Implement ApplyNpadSystemCommonPolicy * hid: service: Remove outdated field from npad * hid: service: Implement Last active Npad * service: hid: Ensure state is correct * service: nfc: Fix amiibo formatting * core: improve debug workflow * add std::error_code for std::filesystem exceptions * shared_widget: Use default literals more * settings_common: Fix typo * debug: Add renderdoc capture hotkey * settings_setting: Don't remove the AudioEngine workaround * cmd/yuzu: Remove uncaught usage of stoi * cmd/config: Remove uncaught usage of stoul * shared_widget: Forward-port Citra changes * configure_ui: Remove unnecessary usage of stoul * cheat_engine: Remove uncaught usage of stoul * ips_layer: Remove uncaught usage of stoul/ll * key_manager: Remove uncaught usage of stoul * settings: Retro-port Citra Settings work * android/config: Remove uncaught usage of stoul * am: Stub GetSaveDataSizeMax * bsd: Demote "Select" log to dehug * Needed to make this an extra case so it didnt also start asserting in BOTW. * Fix an assert in the format lookup table fir Z16 ------------------------------------------------------------------- Sun Sep 17 00:07:24 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1560: * "Merge Tagged PR 11460" * "Merge Tagged PR 11499" * android: Remove settings interface specifically for audio mute * android: Return the correct status code on emulation stop * android: Use resource as shortcut intermediary * android: Don't reinitialize settings on emulation start * android: Fix emulation to settings navigation args * android: Delay collecting UI state in games fragment * android: Refactor menu tags to enum * android: Use StateFlow instead of LiveData * shader_recompiler: skip sampler for buffer textures (#11435) * ngc: implement service * qt: add verification for installed contents * service: mii: Remove most magic values * ci: fix msvc when used with LTO (#11459) * mii: service: Address review * mii: Prepare Interface for new implementation * service: mii: Fix ver3 inconsistencies * service: mii: move char info operations * service: mii: Move store data operations * service: mii: Move core data operations * service: mii: Move ver3 operations * service: mii: separate mii types into their own file * service: mii: Move all raw data to it's file * service: mii: Add mii util and result * Look for the most recently modified image for present * am: Implement UserChannel parameters * am: Remove bcat from PopLaunchParameter * vk_buffer_cache: Respect max vertex bindings in BindVertexBuffers (#11471) * renderer_vulkan: Remove debug report * cmake: Add option to fetch validation layer binary on android * internal_network: log error on interrupt pipe read failure * Fix data source version 1 command looping * Do not reset the command buffer command count each time * add a compile time option to allow disabling portable mode * core: implement basic integrity verification * yuzu-qt: Use Null when OpenGL is not compiled * yuzu-qt: Update API Text for broken Vulkan * configure_graphics: Capture by reference * configure_graphics: Fix handling of broken Vulkan * shader_recompiler: always declare image format for image buffers * polyfill_thread: ensure mutex was locked before signaling stop * internal_network: cancel pending socket operations on application process termination ------------------------------------------------------------------- Sun Sep 10 00:07:49 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1553: * "Merge Tagged PR 11385" * "Merge Tagged PR 11435" * "Merge Tagged PR 11459" * "Merge Tagged PR 11467" * service: mii: Fix broken mii on MK8 * core: Add support for loading NSPs with personalized tickets. (#10048) * service: mii: Fix default mii database * Rework ADSP into a wrapper for apps * msvc: set warning level to /W4 globally * qt: measure romfs dump completion by bytes read * general: make -fwrapv generic to all architectures (#11379) * Update translations (2023-09-01) * vfs: ensure key area keys are validated * qt: ensure packed update nca is applied to the correct base * qt: fix romfs dumping for multiprogram applications * Maxwell3D: Improve Index buffer size estimation. * VideoCore: Implement DispatchIndirect * Shader Recompiler: Auto stub special registers and dump pipelines on exception. * am: shorten shutdown timeout when lock is not held * DMA Pusher: Fix regression caused by guest memory optimizations ------------------------------------------------------------------- Sun Sep 03 00:07:23 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1545: * "Merge Tagged PR 10048" * "Merge Tagged PR 11381" * "Merge Tagged PR 11384" * "Merge Tagged PR 11385" * "Merge Tagged PR 11412" * shader_recompiler: fix emulation of 3D textureGrad * android: Fix game content installer * android: Combine LongMessageDialogFragment with MessageDialogFragment * android: Support dynamic app shortcuts * android: Separate emulation states from emulation mutex * android: Game loading/shutting down indicators * hwopus: Implement GetWorkBufferSizeExEx * android: Create custom game icon loader * android: Don't reload settings when stopping settings activity * android: Add optional androidDefault property to settings * android: Proper state restoration on settings dialogs * android: Add search for settings * android: Implement paired settings * android: Prevent infinite switch toggle loop * android: Migrate settings to navigation component * android: Trim settings enums and items * android: Expose interface for getting settings from native code * android: Support intents to emulation activity * sfdnsres: ensure lp1 is not resolved * Fix node id index in DropVoices * externals: Update SDL to 2.28.2 * Use initial_frame to check interlaced flag * audio: allow more latency in cubeb initialization * hwopus: Implement OpenHardwareOpusDecoderForMultiStreamEx and DecodeInterleavedForMultiStream * android: Don't set a default emulation orientation * android: Properly adjust emulation surface aspect ratio * Buffer Cache: fix discard writes. * Mark decompiled macros as decompiled on dump, dump shaders after translation * Skip additional mbedcrypto warnings options on MSVC * Avoid `$<CXX_COMPILER_ID:Clang>` because it doesn't include AppleClang. * Warnings cleanup for GCC 13 and Clang 16 * Updated to only the reset button * Updated padded style * main: Fix docked mode button, clang 14 error * Pre-test opening a stream for audio backends, fall back to null if not suitable. * native: Use Docked Mode helper * main: Access by reference * config-android: Translate console mode setting * general: Use console mode helper across project * settings: Add docked mode helper function * config(qt): Sanitize docked handheld controller * shared_translation: Define use_docked_mode texts * general: Convert use_docked_mode to an enumeration * shared_widget: Implement radio groups * fix: Added padding to buttons ------------------------------------------------------------------- Sun Aug 27 00:07:02 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1538: * ssl: tolerate handshake without hostname set (#11328) * registered_cache: create fake CNMT entries for program updates of multiprogram applications (#11319) * kernel: offset code entry point for 39-bit address space type (#11326) * android: Use appCategory to specify the app is a game * ui: Fixed inverted controls on ReverseSlider widgets * nvhost_as_gpu: ensure mappings are aligned to big page size when deallocated * yuzu/main: Ensure NCAs are registered in content provider when launching from CLI * filesystem: Return correct error for RenameFile when dest_path already exists * game_list_worker: Display correct size for NAX games * android: Set default build variant to mainlineRelWithDebInfo (#11358) * android: jni: ensure NCAs from loaded filepath are registered in manual content provider * android: Search game directory recursively * Add macos moltenvk bundle, Add copy moltevk dylib script * android: lint: Delete generated ktlint folder between builds * android: Show associated value in home settings (#11272) * android: Use sensor landscape for landscape mode (#11337) * patch_manager: apply manual HTML patches when present * sockets: avoid locking around socket session calls * Masked depthstencil clears * Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagation * file_sys/card_image: support dumps with prepended key area * uisettings: Add TODO for stretched aspect being ignored * file_sys: tolerate empty NCA * configure_ui: Silence MSVC warning * yuzu-qt: Screenshots depend more on the graphics settings * yuzu-qt: Implement unspecified screenshot ratio * bootmanager: Remove old path * configure_ui: Update the screenshots data * config: Read the entire screenshots category * bootmanager: Consider the default resolution * yuzu-qt: Enable specifying screenshot resolution * settings: Add AspectRatio enum, split res scale function * fssystem: rework for yuzu style * fssystem: reduce overalignment of unbuffered storage operations * vfs: expand support for NCA reading * flatten color_values * flatten encoding_values * flatten result vector * GetUnquantizedWeightVector * Revert "HACK: Avoid swizzling and reuploading ASTC image every frame" * HACK: Avoid swizzling and reuploading ASTC image every frame * Compute Replicate * minor * undo uint * Revert "vulkan dims specialization" * vulkan dims specialization * small_block opt * remove TexelWeightParams * error/void extent funcs * more packing * Revert "uint result index" * Revert "bfe instead of mod" * Revert "global endpoints" * global endpoints * bfe instead of mod * uint result index * amd opts * gl * const, pack result_vector and replicate tables, * minor redundancy cleanup * extractbits robustness * reuse vectors memory * EncodingData pack * flattening * weights refactor * params.max_weight * skip bits * restrict ------------------------------------------------------------------- Sun Aug 20 00:06:33 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1531: * "Merge Tagged PR 11149" * "Merge Tagged PR 11284" * "Merge Tagged PR 11320" * video_core: Fix vulkan assert error * cmake: mark warning disable for gcc 11 (#11301) * Improve behavior when sending to closed connection * kernel: remove relative task registration * gdbstub: fixup replaced instruction bytes in memory reads * Revert "Silence nifm spam" * gl_graphics_pipeline: Fix GLASM storage buffer detection * gl_graphics_pipeline: GLASM: Fix transform feedback with multiple buffers * nvnflinger: add missing scale mode * Mark accelerted DMA destination buffers and images as GPU-modified * android: Page forward on setup step completion * android: Adjust setup fragment layout * android: Show complete indicator during setup * android: Remove redundant option from slider dialog * android: Reduce opacity of non-editable settings * android: Use string resource for slider value/units * android: Display setting value in setting list items * android: Set switch listener before assigning new value * ssl_backend_securetransport: remove stray .Code() * vulkan_device: disable features associated with unloaded extensions * service: hid: Implement functions needed by QLaunch ------------------------------------------------------------------- Sun Aug 13 00:25:04 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1521: * Allow searching by a substring of the title ID * general: fix apple clang build * service: pctl: Partially revert 11221 * fs: return result on null outputs * general: fix incorrect conversions * ssl: remove ResultVal use * core: remove ResultVal type * service: audctl: Stub functions needed by Qlaunch * gl_device: Filter more specifically for slow ASTC * service: olsc: Implement IOlscServiceForSystemService ITransferTaskListController interfaces for QLaunch * service: pctl: Implement functions needed for QLaunch * service: set: Add more system settings and address comments * 📝 Update README.md * Fix shader dumps with nvdisasm skip fragment shaders when rasterizer is disabled initialize env_ptrs * service: set: Implement system settings for Qlaunch * service: am: Fix wrong interface ------------------------------------------------------------------- Sun Aug 06 00:21:52 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1517: * vulkan_device: Fix subgroup_size_control detection on Vulkan 1.3 * vulkan_device: Fix VK_EXT_subgroup_size_control detection * config(qt): Fix name of network category * config(qt): Use qt_config directly to read config * vulkan_device: disable EDS3 blending on all AMD drivers * vulkan: centralize config * Update translations (2023-08-01) (#11198) * audren_u: Fix parameter alignment * vma: enable options everywhere * Formatting fix * Match log warning * tz_content_man: Generate the time zone binary once * shared_widget: Only save global settings as needed * config(qt): Write the UiGeneral category * Formatting fix * Address feedback and change log warning * Fix AudioRendererParameterInternal's size * Revert "Revert "Blacklist EDS3 blending from new AMD drivers"" * config(qt): Fix generic read setting * wall_clock: Increase precision requirements * vk_descriptor_pool: Disallow descriptor set free * (ui)settings: Add more runtime_modifiable settings * backend: Remove usage of explicit operator overload * settings: Correct Linkage member impl location * settings: Set GPU as default ASTC decoder * shared_widget: Determine default request earlier * settings_common: Document specializations * shared_widget: Use QRegularExpression * config: Read the Network category * configure_audio/cpu: Sort settings * configure_dialog: Focus the button box on start * qt/configuration: Use deleteLater * common,qt-config: Remove usage of forward_list * settings_common: Use a vector in category linkage * settings: Remove sorting from log * configure_system: Use lambda template to group settings * config-android: Update memory layout member name * k_system_control: Always return some memory size * common: Move global configuration state modifiers back to settings * settings_setting: Fix typo * common,configure_system: Rename method to GetCategory * settings: Cleanup * shared_translation: Update memory layout mode strings * core,common: Give memory layout setting an enum * settings: Require time zone setting value for stirng * shared_translation: Add missing time zones * shared_translation: Add controller_applet_disabled * shared_translation: Add barrier_feedback_loops * cmake: Reposition preprocessor switch comment * configuration: Use enum index * settings: Give indices to enums * cmake: Use standard preprocessor on MSVC * settings_common: Remove unncessary enum spec * shared_translation: Deobfuscate auto time zone * settings_enums: Remove casting * settings_setting: Silence shadowing warnings * settings,configuration: Add a default suffix * configuration: Use paired settings * settings: Define paired settings * shared_widget: Internalize component restoring * configuration: Use specialization of settings * settings: Define specializations for settings * configuration: Use a builder to create widgets * shared_translation: Fix context usage * settings,translation: Fix time zone enum * settings,opengl,yuzu-qt: Fix AA, Filter maximums * settings_enums: More aggressively use macros * config_shared: Remove storing the group from tab * settings,uisettings: Remove leading underscore * configuration: Move speed_limit to core * settings: Move speed_limit to core * android-config: Update enum labels * common,yuzu-qt: Avoid explicit instantiation on old clang * settings_setting: Fix MSVC error * codespellrc: Ignore canonicalizations * shared_widget: Correct spelling * (android)config: Clang format * common,yuzu-qt: GCC warning silences * configure_graphics: Simplify UpdateAPILayout * configure_graphcs: Fix setting shader/device in custom config * configuration: Use shorter constructor as needed * shared_widget: Some documentation, add shorter constructor * config: Remove unused functions * settings: Delete cpu_accuracy_first_time * shared_widget: Improve logging, use Setting::Ranged * settings: Document BasicSetting, add Ranged * settings: Move IsConfiguringGlobal to settings_common * configuration/shared: Clean up includes [IWYU] * configure_graphics: Fix vulkan_device bug * settings: Move some simple data to BasicSetting * settings_setting: Fix errors * (ui,)settings: Use explicit instantiation * settings: Remove redundant false literals * shared_widget: Avoid calling QWidgetPrivate::setVisible * FIXME configuration: Avoid unnecessary allocations * shared_widget: Add SPDX header * general: Add typeinfo where needed * settings_enums: Add const type where needed * shared_widget: Use actionTriggered for user input signals * shared_translation: Populate combobox enums with macro * settings: yuzu is not capitalized why is it capitalized stop no bad * configuration: Document odd widget cases * settings: Reorder * shared_translation: Add translation for use video framrate * settings: Report all contained settings values * settings_enums: Cannonicalize settings names * settings,general: Rename non-confirming enums * configuration: Use IDs to sort holds * settings,general: Rename/reorder setting ids * shared_widget: Fix includes * shared_widget: Complete refactoring * shared_widget: Refactor again * android-config: Adapt settings rework * c_per_game: Inform when settings might not be configurable * shared_translation: Fix pragma once * shared_translation: Add translation for AstcRecompression * configure_system: Hide locale warn at start * shared_widget: Force min width of 100 for restore button * configuration: Workaround for Windows Qt bug * shared_translation: Add missing tooltips * settings: Make volume runtime-configurable * configuration: Clean up includes a bit * configuration_shared: Remove old custom config setup functions * configure_cpu: Generate UI * configuration: Use a mapping of setting value to name * settings, shared_widget: typo fixes * configure_audio: Implement ui generation * settings: Split enums to new file * shared_widget: Use a better icon * shared_widget: Refactor helpers * settings, uisettings: Initialize linkage counter * configure_system: Implement with for loop * per_game: Remove general tab * shared_widget: Internalize extra setting configuration * settings: Move runtime and save to parameters * graphics: Set speed limit to spinbox * shared_widget: Support checkbox + spinbox * configure_debug: Reorganize * configure_graphics: Reimplement bg_color * shared_widget: Make button creation static * configure_general: Hide reset button in custom configs * configure_general: Sort data * configure_general: Generate UI using containers * shared_translation: Add UI widget translations * shared_widget: Fix header * settings: Add UiGeneral class * config: Don't merge the maps * configure_graphics: Remove redundant log * configuration: Move CreateWidget to a class * configuration: Implement slider * configuration: Use buttons instead of highlights * shared_translations: Re flow strings * configure_graphics: More complete reimplementation * settings: Define base renderer runtime modifiable settings * configuration_shared: Fix blank state hiding check box * settings: Add anisotropy mode enum * shared_translation: Finish using int ids * settings,uisettings: Add IDs to settings * configure_graphics: Partial runtime implementation * settings: Recategorize a bit * shared_translation: Add the rest of the settings * shared_translation: Add copyright and license * configure_graphics_advance: Generate UI at runtime * configure_per_game: Rename group to tab_group * configuration: Add base class to tabs * configuration_shared: Create Tab base class * settings: Add a registry of settings * uisettings: Fix typings * settings,core,config_sys: Remove optional type from custom_rtc, rng_seed * settings: Pool SetGlobal functions * settings,video_core: Consolidate ASTC decoding options ------------------------------------------------------------------- Sun Jul 30 00:21:23 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1511: * "Merge Tagged PR 10839" * Revert "Blacklist EDS3 blending from new AMD drivers" * Address feedback * cmake: Download nasm from our external repo * android: Only label language with language * memory: check page against address space size * yuzu: Avoid reading broken games * ssa_rewrite_pass: use proper maps * core: implement GetGaiStringErrorRequest, IContextRegistrar * core: reduce TOCTTOU memory access * memory: minimize dependency on process * yuzu: Replace httplib with QtNetworkRequest * buffer_cache: Increase number of texture buffers * Fixes and workarounds to make UBSan happier on macOS * kernel: reduce page table region checking * k_process: PageTable -> GetPageTable * ci/linux: Target deploy script from appimage path ------------------------------------------------------------------- Sun Jul 23 00:22:16 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1503: * "Merge Tagged PR 11094" * "Merge Tagged PR 11098" * core: remove remaining uses of dynamic_cast * general: reduce use of dynamic_cast * ci: Remove GA, Gr optimizations from MSVC * demangle: Update to llvm/llvm-project@ecbc812e0cca * CMake: Require LLVM 17 or later * vk_buffer_cache: Format * general: Silence -Wshadow{,-uncaptured-local} warnings * Debug SetIdleTimeDetectionExtension * nsd: add GetApplicationServerEnvironmentType * ssl: Link with crypt32 for secure channel backend * ssl: Reorder inclusions * network: Forward declarations * service: nfc: Update Implementation to match with latest RE * android: fix links to re-dumping guides * time_zone: Clean up includes * time_zone: Swap subtraction order * time_zone: Account for leap years * cmake: allow using system VMA library * settings: Disable C++20 tzdb path on MinGW * time_zone: Remove string ops for determing zone * Rename variables to avoid -Wshadow warnings under GCC * ...actually add the SecureTransport backend to Git. * Updates: * PR feedback + constification * network.cpp: include expected.h * Disable OpenSSL on Android. * re-format * Fix more Windows build errors * ssl: fix compatibility with OpenSSL 1.1.1 * Fixes: * ssl: rename argument to avoid false positive codespell warning * socket_types: Improve comment * Implement SSL service ------------------------------------------------------------------- Sun Jul 16 00:21:15 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1497: * "Merge Tagged PR 10912" * file_sys/content_archive: Detect compressed NCAs (#11047) * android: Visualize disabled home options * android: Don't prompt to save user data on uninstall * ci/mingw: Remove pefile installation step * arm_interface: correct breakpoint rewind condition * settings: Catch runtime error from STL * k_server_session: translate special header for non-HLE requests * input_common: set `SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS` to 0 This allows to share the mappings between Nintendo and non-Nintendo controllers. Breaks the controller configuration for existing users who are using a Nintendo controller. * settings: Disable C++20 path on MSVC * Fix ScratchBuffer moves * Use spans over guest memory where possible instead of copying data. ------------------------------------------------------------------- Tue Jul 11 05:41:29 UTC 2023 - Jonatas Gonçalves <jonatas.sgoncalves@gmail.com> - Added nx_tzdb patch to remove tzdb download since it is already present. - Changed vulkan version to 1.3.256, factory version sdk-1.3.250 is deprecated for yuzu ------------------------------------------------------------------- Sun Jul 09 00:21:15 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1490: * "Merge Tagged PR 11050" * verify: Remove dependence on chocolatey * android-build: Run only on yuzu-android repository * general: Update VulkanSDK and Vulkan-Headers * github: Checkout source first (MSVC) * ci: Download and install Vulkan SDK directly from LunarG * vfs_real: use open file size for getting size (#11016) * main: Use 1_MiB as a constant for copy buffer size * main: Fix install progress calculation * input_common: Avoid potential division by zero * externals: Update sdl2 to 2.28.1 * video_core: vulkan_device: Disable timeline semaphore on Turnip, fix qcom version check. * video_core: vulkan_device: Change to driver version check. * android: Reintroduce launch mode as single top * oops re open * Use `toUtf8()` for string passed to DBus * service: nfc: Ensure controller is in the correct mode * android: Version the input overlay * core_timing: Remove GetCurrentTimerResolution in CoreTiming loop * vulkan_common: use device local preferred for image memory * Revert "texture_cache: Fix incorrect logic for AccelerateDMA" * yuzu: Use test window with VulkanSurface to check for present modes. * kernel: Synchronize * Minor cleanup in BufferCacheRuntime::ReserveNullBuffer * renderer_vulkan: Fix some missing view formats * renderer_vulkan: Add support for VK_KHR_image_format_list * vulkan: Use newer VK_EXT_metal_surface to create surface for MoltenVK. * parcel: Optimize small_vector sizes * maxwell_dma: Specify dst_operand.pitch instead of a temp var * general: Use ScratchBuffer where possible * yuzu: Ensure mouse panning can't be enabled with real mouse emulation * CI: add auto-publishing steps for Android * CI: add Android build workflow * android: Show memory warning once * ring_buffer: Fix const usage on std::span * scratch_buffer: Add member types to ScratchBuffer * android: Rework MemoryUtil * sink_stream: Resolve heap buffer corruption due to out of bounds write * video_core: vulkan_device: Scope S8Gen2 checks to just Qualcomm. * video_core: vulkan_device: Fix S8Gen2 dynamic state checks. * Memory Tracker: Use 64 bit atomics instead of 128 bits * input_common: Tune mouse controls * android: Make MemoryUtil an object * Memory Tracking: Optimize tracking to only use atomic writes when contested with the host GPU * MemoryTracking: Initial setup of atomic writes. * fsmitm_romfsbuild: avoid full path lookups ------------------------------------------------------------------- Sun Jul 02 00:21:03 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1483: * "Merge Tagged PR 10710" * "Merge Tagged PR 10966" * Update translations (2023-07-01) (#10972) * AccelerateDMA: Don't accelerate 3D texture DMA operations * android: Suppress a known incompatibility * Texture cache: Fix YFC regression due to code testing * input_common: Allow timeouts to happen while scanning for a ring * Blacklist EDS3 blending from new AMD drivers * android: Android 14 support * input_common: Remove duplicated DriverResult enum * x64: cpu_wait: Implement MWAITX for non-MSVC compilers * x64: cpu_wait: Remove magic values * x64: cpu_wait: Make use of MWAITX in MicroSleep * x64: Add detection of monitorx instructions * renderer_vulkan: Prevent crashes when blitting depth stencil * video_core: Add BCn decoding support * renderer_vulkan: Add more feature checking * renderer_vulkan: Don't assume debug tool with debug renderer * renderer_vulkan: Bump minimum SPIRV version * renderer_vulkan: Respect viewport limit * renderer_vulkan: Don't add transform feedback flag if unsupported * renderer_vulkan: Add suport for debug report callback * settings: Clean up includes * arm_dynarmic_32: Remove disabling of block linking on arm64 * settings: Catch runtime_error, fallback time zone * yuzu: Fix clang format * gitmodules: normalize indentation and url * android: Fix size check for content uris * android: Clean up file extension checks * externals: Use cmake subdirectory * Use safe reads in DMA engine * OpenGL: Limit lmem warmup to NVIDIA * shaders: Track local memory usage * emit_glasm: Fix lmem size computation * OpenGL: Add Local Memory warmup shader * nx_tzdb: Update tzdb_to_nx to 212afa2 * Hyphenate Joy-Con and clarify further * Clarify Ring-Con configuration message in UI * core: hid: Allow to read bin files while switch controller is available * input_common: Dont try to read/write data from 3rd party controllers * externals: Include player led fix on SDL * input_common: Make use of new SDL features * Only use SDL wakelock on Linux SDL has internally fixed shenanigans related to wakelocking through DBus from inside sandboxes from around August 2022, so we can now remove the workaround we used since 2021. * nx_tzdb: Update tzdb_to_nx * android: define [[maybe_unused]] (const) auto * android: Parameter types from Android Studio * vulkan_common: Remove required flags * renderer_vulkan: Add missing initializers * renderer_vulkan: Use VMA for buffers * renderer_vulkan: Use VMA for images * memory_allocator: Remove OpenGL interop * externals: Add vma and initialize it * input_common: Redesign mouse panning * qt: add option to disable controller applet ------------------------------------------------------------------- Sun Jun 25 00:21:18 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1478: * externals: Include post release SDL fixes * vfs_real: lock concurrent accesses * android: Log settings * general: remove atomic signal and wait * Remove memory allocations in some hot paths * input_common: Implement native mifare support * externals: Update sdl to 2.28.0 * android: Generalize string message dialog * android: Add support for concurrent installs * android: Convert memory sizes to resource * android: Add a notice when RAM inadequate * android: Refactor native and corresponding variables * Fix JNI and expose mute settings to Android * android: Add a PiP interface to mute / unmute * android: Don't show custom driver button on mali and x86 * time_zone_manager: Add null terminator * time_zone_manager: Stop on comma * vulkan_device: Remove brace initializer * video_core: Check broken compute earlier * nx_tzdb: Rename GNU_DATE variable * externals: Update tzdb_to_nx * vfs_concat: verify short read * vfs_concat: fix offset calculation when not aligned to file boundary * Use current GPU address when unmapping GPU pages, not the base * vk_device_info: Check only affected Intel drivers * video_core: Formalize HasBrokenCompute * vulkan_device: Remove external memory extension * renderer_vulkan: add missing include * externals: Update vcpkg to 2023.06.17 * time_zone_service: Always write time zone rule data * Synchronize vertex buffer even when it doesn't require binding * k_thread: Use a mutex and cond_var to sync bool * video_core: add samples check when find render target * video_core: Only apply AF to 2D (array) image types * video_core: Removed AF for all mip modes option as it's default now * nx_tzdb: Directly reference variables in if statements * vfs_real: ensure size cache is reset on write * patch_manager: remove unnecessary GetSize calls * vfs_real: misc optimizations * video_core: drawtexture support upscale * video_core: Use sampler IDs instead pointers in the pipeline config The previous approach of storing pointers returned by `GetGraphicsSampler`/`GetComputeSampler` caused UB, as these functions can cause reallocation of the sampler slot vector and therefore invalidate the pointers * cmake: Add warn about cross compiling, disable android * cmake: Check for target is Windows * cmake: Use non-conflicting variable names * cmake: Extra time zone data download checks * cmake: Add option to always download time zone data * externals: submodule tzdb_to_nx * nx_tzdb: Support submoduling tzdb_to_nx * time_zone_manager: Compare to the correct boolean * nx_tzdb: Correct Antarctica spelling * video_core: Fallback to default anisotropy instead to 1x anisotropy * video_core: Disable AF for non-color image formats * video_core: Fixed compilation errors because of name shadowing * video_core: Add per-image anisotropy heuristics (format & mip count) * video_core: optionally skip barriers on feedback loops * video_core: Apply AF only to samplers with normal LOD range [0, 1+x] * video_core: Fix default anisotropic heuristic * video_core: Never apply AF to None mipmap mode Should fix some artifacts with the "apply anisotropic filtering for all mipmap modes" option * video_core: Disable anisotropic filtering for samplers with depth compare * video_core: Option to apply anisotropic filtering for all mipmap modes * nvdisp: Fix SingleCore frametime reporting * core_timing: Fix SingleCore cycle timer * (wall, native)_clock: Add GetGPUTick * time: Use compile time division for TimeSpanType conversion * core_timing: Use CNTPCT as the guest CPU tick * nvnflinger: Acquire lock prior to signaling the vsync variable * (wall, native)_clock: Rework NativeClock * x64: Deduplicate RDTSC usage * vk_device_info: Clean up includes [IWYU] * vk_device_info: Add SPDX data * yuzu-qt: Load Vulkan device info at startup ------------------------------------------------------------------- Fri Jun 23 20:31:37 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1477+16~git20230624.db8ff52b66: * android: Log settings * Remove memory allocations in some hot paths * externals: Update sdl to 2.28.0 * android: Generalize string message dialog * android: Add support for concurrent installs * android: Convert memory sizes to resource * android: Add a notice when RAM inadequate * android: Don't show custom driver button on mali and x86 * time_zone_manager: Add null terminator * time_zone_manager: Stop on comma * vulkan_device: Remove brace initializer * video_core: Check broken compute earlier * nx_tzdb: Rename GNU_DATE variable * externals: Update tzdb_to_nx * vfs_concat: verify short read * vfs_concat: fix offset calculation when not aligned to file boundary * Use current GPU address when unmapping GPU pages, not the base * vk_device_info: Check only affected Intel drivers * video_core: Formalize HasBrokenCompute * "Merge Tagged PR 10486" * vulkan_device: Remove external memory extension * renderer_vulkan: add missing include * externals: Update vcpkg to 2023.06.17 * time_zone_service: Always write time zone rule data * Synchronize vertex buffer even when it doesn't require binding * k_thread: Use a mutex and cond_var to sync bool * video_core: add samples check when find render target * video_core: Only apply AF to 2D (array) image types * video_core: Removed AF for all mip modes option as it's default now * nx_tzdb: Directly reference variables in if statements * vfs_real: ensure size cache is reset on write * patch_manager: remove unnecessary GetSize calls * vfs_real: misc optimizations * video_core: drawtexture support upscale * video_core: Use sampler IDs instead pointers in the pipeline config The previous approach of storing pointers returned by `GetGraphicsSampler`/`GetComputeSampler` caused UB, as these functions can cause reallocation of the sampler slot vector and therefore invalidate the pointers * cmake: Add warn about cross compiling, disable android * cmake: Check for target is Windows * cmake: Use non-conflicting variable names * cmake: Extra time zone data download checks * cmake: Add option to always download time zone data * externals: submodule tzdb_to_nx * nx_tzdb: Support submoduling tzdb_to_nx * time_zone_manager: Compare to the correct boolean * nx_tzdb: Correct Antarctica spelling * video_core: Fallback to default anisotropy instead to 1x anisotropy * video_core: Disable AF for non-color image formats * video_core: Fixed compilation errors because of name shadowing * video_core: Add per-image anisotropy heuristics (format & mip count) * video_core: optionally skip barriers on feedback loops * video_core: Apply AF only to samplers with normal LOD range [0, 1+x] * video_core: Fix default anisotropic heuristic * video_core: Never apply AF to None mipmap mode Should fix some artifacts with the "apply anisotropic filtering for all mipmap modes" option * video_core: Disable anisotropic filtering for samplers with depth compare * "Merge Tagged PR 10603" * video_core: Option to apply anisotropic filtering for all mipmap modes * "Merge Tagged PR 10603" * "Merge Tagged PR 10603" * "Merge Tagged PR 10603" * "Merge Tagged PR 10685" * nvdisp: Fix SingleCore frametime reporting * core_timing: Fix SingleCore cycle timer * (wall, native)_clock: Add GetGPUTick * time: Use compile time division for TimeSpanType conversion * core_timing: Use CNTPCT as the guest CPU tick * nvnflinger: Acquire lock prior to signaling the vsync variable * (wall, native)_clock: Rework NativeClock * x64: Deduplicate RDTSC usage * vk_device_info: Clean up includes [IWYU] * vk_device_info: Add SPDX data * yuzu-qt: Load Vulkan device info at startup ------------------------------------------------------------------- Sun Jun 18 00:17:10 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1472: * "Merge Tagged PR 10486" * android: Expose audio output engine setting * android: Bump ktlint version to 0.47.1 * android: Disable import-ordering ktlint check * android: Expose CPU debugging option * android: Expose fastmem option * android: Support changing multiple settings at once * android: Fix aspect ratio when rotating screen * android: Apply ktlint codestyle * Android: Use ktlint for Kotlin code style * android: Enable android linting * input_common: Add amiibo with originality signature support * android: fs: Fix Exists / IsFile for SAF. * vulkan_device: disable extended_dynamic_state2 on ARM drivers * video_core: preallocate fewer IR blocks * service: nfc: Read tag protocol only for nfc backend * service: nfc: Accuracy fixes * externals: Fix update vcpkg to 2023.06.14 * android: Move overlays to their own layout * android: Initialize defaults for each orientations * android: Display FPS with emulation on hinge * android: Remove PiP reliance on fragment * android: Set layout by fragment, not view * android: Add a separate foldable layout set * android: Set portrait default control params * android: Actually implement portrait controls * android: Enable automated portrait controls * android: Add Picture in Picture / Orientation * android: Adapt EmulationActivity to navigation component * renderer_vulkan: propagate conditional barrier support * externals: update vcpkg to 2023.06.14 * vfs_real: require file existence on open * vfs_real: add simplified open file cache * android: Declare languages in locales_config.xml * vfs_real: lazily open files * vfs_real: add file LRU cache for open file limits * android: Fix touch input * buffer_cache_base: Specify buffer type in HostBindings * core: decouple ARM interface from Dynarmic * android: settings: Disable force_max_clock by default. * android: settings: Add reactive flushing as a default-disabled setting. * android: res: Remove translated strings that no longer exist. * codespell: Exclude android resources directory * android: Add translation files manually * Re-enable SDL's CPUinfo subsystem See https://github.com/libsdl-org/SDL/issues/7809. Disabling CPUinfo triggers a bug in SDL's audio subsystem, which breaks SDL's JACK output on Linux. We're lucky it hasn't broken anything else. * android: Add update support * android: Use autogenerated hash code function for Game class * android: Use autoVersion when gradle property is set * qt: use larger buffer for update install * android: Update dependencies * android: Differentiate build types with new names * Android: Remove unused relWithVersionCode build type * android: Use ContentResolver to get file extension * android: Fix screen orientation & blurriness. * shader_recompiler: translate f64 to f32 when unsupported on host * shader_recompiler: remove barriers in conditional control flow when device lacks support * Add a codespell exception for kotlin OptIn * qt: persist framerate sync option * image_info: adjust rescale thresholds and refactor constant use * vk_blit_screen: use higher bit depth for fxaa * Combine vertex/transform feedback buffer binding into a single call * tz_manager: Fix comparison to wrong integer * tz_manager: Implement missing transition times * tz_manager: Warn on unimplemented code * tz_manager: Fix character offset not advancing * tz_manager: Fix off-by-one error * time_zone: Handle offset time zones * time_zone_binary: Add zoneinfo data * nx_tzdb: Create headers from downloaded system archive data * time: Implement missing services * time_zone_manager: Implement go_ahead/go_back * tz_content_manager: Try the system time zone first * common: Move system time zone string detection * configure_system: Remove external offset on custom rtc * time: Remove auto timezone consideration * settings: Always report a valid time zone * time_manager: Don't offset RTC by system time zone * tz_content_manager: Detect system time zone ------------------------------------------------------------------- Sat Jun 17 13:43:41 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1472+10~git20230617.b8127b2c8: * "Merge Tagged PR 10486" * android: Expose audio output engine setting * android: Bump ktlint version to 0.47.1 * android: Disable import-ordering ktlint check * android: Expose CPU debugging option * android: Expose fastmem option * android: Support changing multiple settings at once * android: Fix aspect ratio when rotating screen * android: Apply ktlint codestyle * Android: Use ktlint for Kotlin code style * android: Enable android linting * input_common: Add amiibo with originality signature support * android: fs: Fix Exists / IsFile for SAF. * vulkan_device: disable extended_dynamic_state2 on ARM drivers * video_core: preallocate fewer IR blocks * service: nfc: Read tag protocol only for nfc backend * service: nfc: Accuracy fixes * externals: Fix update vcpkg to 2023.06.14 * android: Move overlays to their own layout * android: Initialize defaults for each orientations * android: Display FPS with emulation on hinge * android: Remove PiP reliance on fragment * android: Set layout by fragment, not view * android: Add a separate foldable layout set * android: Set portrait default control params * android: Actually implement portrait controls * android: Enable automated portrait controls * android: Add Picture in Picture / Orientation * android: Adapt EmulationActivity to navigation component * renderer_vulkan: propagate conditional barrier support * externals: update vcpkg to 2023.06.14 * vfs_real: require file existence on open * vfs_real: add simplified open file cache * android: Declare languages in locales_config.xml * vfs_real: lazily open files * vfs_real: add file LRU cache for open file limits * "Merge Tagged PR 10603" * android: Fix touch input * buffer_cache_base: Specify buffer type in HostBindings * core: decouple ARM interface from Dynarmic * android: settings: Disable force_max_clock by default. * android: settings: Add reactive flushing as a default-disabled setting. * android: res: Remove translated strings that no longer exist. * codespell: Exclude android resources directory * android: Add translation files manually * Re-enable SDL's CPUinfo subsystem See https://github.com/libsdl-org/SDL/issues/7809. Disabling CPUinfo triggers a bug in SDL's audio subsystem, which breaks SDL's JACK output on Linux. We're lucky it hasn't broken anything else. * android: Add update support * android: Use autogenerated hash code function for Game class * android: Use autoVersion when gradle property is set * image_info: adjust rescale thresholds and refactor constant use * tz_manager: Fix comparison to wrong integer * tz_manager: Implement missing transition times * tz_manager: Warn on unimplemented code * tz_manager: Fix character offset not advancing * tz_manager: Fix off-by-one error * time_zone: Handle offset time zones * time_zone_binary: Add zoneinfo data * nx_tzdb: Create headers from downloaded system archive data * time: Implement missing services * time_zone_manager: Implement go_ahead/go_back * tz_content_manager: Try the system time zone first * common: Move system time zone string detection * configure_system: Remove external offset on custom rtc * time: Remove auto timezone consideration * settings: Always report a valid time zone * time_manager: Don't offset RTC by system time zone * tz_content_manager: Detect system time zone ------------------------------------------------------------------- Tue Jun 13 00:40:53 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1467+5~git20230613.45a3a0c6d: * "Merge Tagged PR 10603" * qt: use larger buffer for update install * android: Update dependencies * android: Differentiate build types with new names * Android: Remove unused relWithVersionCode build type * android: Use ContentResolver to get file extension * shader_recompiler: translate f64 to f32 when unsupported on host * shader_recompiler: remove barriers in conditional control flow when device lacks support * Combine vertex/transform feedback buffer binding into a single call ------------------------------------------------------------------- Mon Jun 12 05:43:16 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1465+3~git20230611.f3b737bf2: * "Merge Tagged PR 10603" * android: Fix screen orientation & blurriness. * "Merge Tagged PR 10603" * "Merge Tagged PR 10685" * Add a codespell exception for kotlin OptIn * android: Add proper homebrew check * android: Fix input overlay version check * qt: persist framerate sync option * vk_blit_screen: use higher bit depth for fxaa * yuzu: add opengl shader backend info in status bar ------------------------------------------------------------------- Sat Jun 10 08:37:07 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1463+0~git20230608.b3e2c9f9f: * android: EmulationActivity: Fix orientation on Mi Pad 5. * Fix potentially uninitialized local variable warning * nvnflinger: allow locking framerate during video playback * remove version code declaration * Merge pull request #10476 from ameerj/gl-memory-maps * CMakeLists: Force C++20 on MSVC due to conflicts with C++23 modules * service: nfc: Add backup support * gitmodules: Fix libadrenotools submodule * github: Remove release workflow * Android TV banner * android: Set version code * Updated to lexicographical order suggestions * android: Improve Gradle build configuration * android: Fix ci builds with Java 17 * android: audio_core: sink_stream: Remove unnecessary check. * Make VK_EXT_robustness2 optional * android: HomeSettingsFragment: Use string resource for "Share log". * android: Use a custom view for changing emulation aspect ratio * Address feedback * android: Create licenses page * android: Move settings to debug submenu * android: Load settings at the start of each activity * Attempt to move the unzip coroutine to a ViewModel * android: update strings * android: add option to share log * android: add option to install firmware * android: move unzip function to FileUtil and use SecurityException * android: Several string changes * audio_renderer: resolve adsp thread deadlock shutdown * android: Resolve a couple Gradle warnings * android: Add support for split foldable view * android: Replace deprecated and Java code * fsp-srv: avoid patching romfs multiple times * Update README.md (Add Android at builds description) (#10586) * romfs: use vfs_cached for romfs output * vfs: add vfs_cached for romfs build * android: cmake: Use cmake_dependent_option as appropriate. * android: Fix crash on importing invalid save * android: vk_presentation_manager: Fix unusued needs_recreation. * android: Rename "Input Overlay" to "Overlay Options" * android: Adjust import/export saves dialog * android: Warning dialogs for key errors * android: vk_turbo_mode: Remove unnecessary device recreation. * android: EmulationFragment: Remove unnecessary surface destroy on pause. * android: renderer_vulkan: Fix crash with surface recreation. * android: Fix presentation layout on foldable and tablet devices. * android: Enable overlay scale/opacity dialog * Add image to card_game.xml to preview in the Layout Editor * Save the position of buttons as a percentage * android: Don't crash the app when selecting a zip that causes a SecurityException * input_common: Fix virtual amiibos * android: audio_core: Avoid shutdown hang. * android: ForegroundService: Handle null intent. * android: ImportExportSavesFragment: Cleanup strings. * Update src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt * Remove `?.` * Check if folder exists before letting the user import/export saves * Add save import/export in UI * android: Use ext-android-bin for external binaries. * android: Fix FPS text getting cut off by rounded display corners * android: Prevent deleting the settings file while a game is running * android: Fix link text color for base theme dialog * android: Various fixes for CI. * android: externals: Update libadrenotools, use useLegacyPackaging. * android: Re-enable service notification * android: Ensure keys are loaded before populating games list * android: Use dialog fragment for the reset settings dialog * android: Upgrade AGP to 8.0.2 * android: Show notification permission page during setup * android: DIsable FPS counter by default * android: Improve searches with one character * android: Stop building x86 packages in APKs * android: Add FPS toggle * CI: use the verify pipeline to do releases * android: Clean up app build.gradle * video_core: vk_rasterizer: Decrease draw dispatch count for Android. * android: config: Expose VSync as a configurable setting. * android: GPU: Enable async presentation, increase frames in flight. * android: Enable onBackInvokedCallback * android: Remove deprecated use of onBackPressed() * android: Add option for touch overlay haptics * android: Improve missing game handling * android: Clean up dependencies * android: Delete java code style file * android: Settings UI tweaks * android: Simplify setup in search and games fragments * android: Use collapsing toolbar layout in settings * android: Remove unnecessary JvmStatic/JvmField annotations * android: Fix navigation rail animation in rtl layout * android: Use cutout insets on setup fragment * android: Button to reset all settings * android: Use proguard file in relWithDebInfo * android: Fix background color within inset areas * android: Shortcut to settings activity on reselection * android: Expose custom RTC setting * android: Reset setting on long press * android: Fix issues with ea/main icons and version codes * android: Move theme options out of advanced settings * android: Check if cached games are valid * android: Invert rotation to match phone orientation * android: vulkan_device: Skip BGR565 emulation on S8gen2. * android: config: Use default anisotropic filtering. * android: Remove top padding from in game menu items * android: Use different icons for mainline/ea * android: Add early access upgrade fragment * android: vulkan_device: Only compile OverrideBcnFormats when used. * android: remove spurious warnings about BCn formats when patched with adrenotools * android: video_core: Disable some problematic things on GPU Normal. * android: settings: Use mailbox vsync by default. * android: video_core: Disable problematic compute shaders. * android: Update progard to fix settings crash * android: vulkan: Recreate surface after suspension & adapt to async. presentation. * android: Game data cache * android: Update to Kotlin 1.8.21 * android: Disable jetifier * android: Update dependencies * android: Migrate to AGP 8.0.1 * android: Enable non-transitive R classes * android: config: Enable asynchronous presentation by default on Android. * video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise. * android: fix deadzone calculation * android: Fix background color when starting emulation * android: Persistent scrollbars on home settings fragment * android: Use short build hash * android: Use navigation bar shade view * android: About fragment * android: Use x-axis animation for navigation rail * android: Sort games alphabetically by default * android: New icons for navigation bar * android: New icons for home settings fragment * android: Add navigation rail * android: Search Fragment * android: Fix potential zip traversal exploit * android: Add dedicated show overlay checkbox * android: Add user directory shortcut * android: Fix inline keyboard input * android: Fix grammatical mistake in video core error message * android: Adjust wording on GPU driver install button * android: Add deadzone to stick input * android: Move motion listener to emulation activity * core: hid: Finish linking motion from virtual controllers * android: Change wording for "Add Games" button (#100) * android: Scroll shortcut for games list * android: Setup screen hotfix * android: Swap Default and Install buttons for GPU driver installation dialog * android: Add warnings to setup screens * android: Allow search bar to scroll offscreen * android: Update app icon * android: Change organization of the settings tab in the home screen * android: Properly pop setup fragment from the back stack * android: Vertically scalable setup pages * android: Fix setup rotation bug * android: Temporarily switch for a fixed version code for testing * android: Fix alignment of SwipeRefreshLayout * android: Shape/spacing adjustments to game card * android: Manual tweaks for dialog colors * android: Fix black backgrounds bug * android: Use navigation bar shade view for settings activity * android: Disable editing themes during emulation * android: Prevent situation where binding is called on a null view * android: Add black backgrounds toggle * android: Add theme mode picker * android: Add theme picker * android: Prevent potential abstract settings crash * android: Fix cast for abstract settings * android: Create xml for Material You theme * android: Remove check for API 29 in themes * android: Adjustments to home option card * android: Use different colors for logo in options menu * android: New default theme colors * android: Use libnx default icon * android: enable LTO * android: Show error if invalid keys file is selected * android: Fix first time setup scrolling bug * android: Fix A button preference key * android: First time setup screen * android: Prevent editing unsafe settings at runtime * android: Abstract settings * android: Implement gamepad input * android: Bump minimum version to Android 11 * android: Decouple status bar shade from navigation bar visibility * android: Enable code minification * android: Switch from a colored status bar to a custom view * android: Adjustments to card_game * android: MainActivity overhaul * android: Enforce Vulkan 1.1 support as minimum * android: Update gradle version to 8.1 * android: Update app dependencies * android: Convert gradle scripts to Kotlin DSL * android: vulkan: Disable vertex_input_dynamic_state on Qualcomm. * android: settings: Add scaling filter & anti-aliasing options. (#66) * android: video_core: Add support for disk shader cache. (#64) * android: vulkan_debug_callback: Ignore many innocuous errors. * android: config: Change docked mode and GPU accuracy to favor performance on Android. * service: account: Save user profile folder on first user creation * android: Initialize account manager * android: Remove unsafe null check * android: Scale input overlay independently of system display scale * android: Use apply instead of commit for shared preferences * android: Add DPad slide toggle * android: Add relative stick center toggle * android: Make hash and branch accessible from BuildConfig * android: Backup shared preferences where applicable * android: Enable retaining app data after uninstall * android: Remove unused doFrame function * android: Convert NativeLibrary to Kotlin * android: Remove LocalBroadcastManager * android: Remove game database * android: Adjust game icon loading * android: Remove unused dimensions files * android: Slightly reduce game card size * android: Only show company text view if it has content * android: Fix check for ok text in software keyboard * android: Implement amiibo reading from nfc tag * android: vulkan_device: Disable VK_EXT_custom_border_color on Adreno. - Causes crashes on sampler creation with Super Mario Odyssey. * android: Add toggle controls option to input overlay * android: Do not update FPS text on null view * android: Convert keyboard applet to kotlin and refactor * android: Implement basic software keyboard applet. * android: config: Disable shader cache by default on Android. * android: Fix fps counter not showing up * android: Prevent showing games on an invalid view * android: Re-implement overlay editing * android: Fix popup menu going out of bounds * android: Use autofit grid for games fragment * android: Prevent updating empty game list text on invalid view * android: Persist settings across configuration changes * android: Store settings object in viewmodel * android: Remove configChanges exceptions * Android: Enable resizeable activities * android: Fix emulation fragment comments * android: Use modal navigation drawer as in game menu * android: Make Game class parcelable * android: Add kotlin parcelize plugin * android: Remove deprecated use of onActivityResult * android: Fix RTL layouts * android: Use ellipsis character * android: Move all array strings to main strings file * android: Remove unused strings * android: Remove unused colors * android: Remove citra date time picker * android: Remove unused premium header layout * android: Remove unused fragment animations * android: Remove unused string arrays * android: Remove unused integer xmls * android: Refactor ic_launcher.xml to drawables * android: Suppress lint in InsetsHelper * android: Add data extraction rules * android: Remove requestLegacyExternalStorage attribute * android: Remove unused permissions * android: Inset input overlay based on system cutouts * Use yuzu as category instead of citra * android: Stop updating fps counter when emulation stops * android: Move driver installation off of main thread * android: Fix crash when decodeGameIcon creates a null Bitmap * android: Use view binding * android: Enable view binding * android: Refactor CheckBoxSetting to SwitchSetting * android: EmulationActivity: Fix variable shadowing in fragment creation. * android: res: fragment_emulation: Ensure FPS counter is shown. * common: link libandroid on android * cmake: download architecture-specific ffmpeg for android * build: only enable adrenotools on arm64 * android: Use Skyline's document provider * android: Use androidx splash screen * android: Replace Picasso with Coil * android: New swipe to refresh color scheme * android: New settings fragment animations * android: Use edge to edge * android: Use Material 3 components * android: Modernize theme system * android: Use vector icons * android: Use adaptive icon * android: settings: Dynamically evaluate valueAsString * android: Add license identifier * android: Convert YuzuApplication to Kotlin * android: Convert Action1 to Kotlin * android: Convert GameViewHolder to Kotlin * android: Remove ThemeUtil * android: Convert StartupHandler to Kotlin * android: Convert Log to Kotlin * android: Convert GpuDriverMetadata to Kotlin * android: Convert GpuDriverHelper to Kotlin * android: Convert GameIconRequestHandler to Kotlin * android: Convert ForegroundService to Kotlin * android: Convert FileUtil to Kotlin * android: Convert FileBrowserHelper to Kotlin * android: Convert EmulationMenuSettings to Kotlin * android: Convert DocumentsTree to Kotlin * android: Convert DirectoryStateReceiver to Kotlin * android: Convert DirectoryInitialization to Kotlin * android: Convert ControllerMappingHelper to Kotlin * android: Convert BiMap to Kotlin * android: Convert AddDirectoryHelper to Kotlin * android: Convert PlatformGamesView to Kotlin * android: Convert PlatformGamesPresenter to Kotlin * android: Convert PlatformGamesFragment to Kotlin * android: Convert MainView to Kotlin * android: Convert MainPresenter to Kotlin * android: Convert InputOverlayDrawableJoystick to Kotlin * android: Convert MainActivity to Kotlin * android: Remove ExampleInstrumentedTest * android: Remove TwoPaneOnBackPressedCallback * android: Convert InputOverlayDrawableDpad to Kotlin * android: Convert InputOverlayDrawableButton to Kotlin * android: Convert InputOverlay to Kotlin * android: Remove DividerItemDecoration * android: Inherit from Material 3 themes * android: Convert MinimalDocumentFile to Kotlin * android: Convert GameProvider to Kotlin * android: Convert GameDatabase to Kotlin * android: Convert Game to Kotlin * android: Convert EmulationFragment to Kotlin * android: Convert SettingsFile to Kotlin * android: Convert SettingsFrameLayout to Kotlin * android: Convert SettingsFragmentView to Kotlin * android: Convert SettingsFragmentPresenter to Kotlin * android: Convert SettingsFragment to Kotlin * android: Convert SettingsActivityView to Kotlin * android: Convert SettingsActivityPresenter to Kotlin * android: Convert SettingsActivity to Kotlin * android: Convert SubmenuViewHolder to Kotlin * android: Convert SliderViewHolder to Kotlin * android: Convert SingleChoiceViewHolder to Kotlin * android: Convert SettingViewHolder to Kotlin * android: Convert HeaderViewHolder to Kotlin * android: Convert DateTimeViewHolder to Kotlin * android: Convert CheckBoxSettingViewHolder to Kotlin * android: Convert StringSetting to Kotlin * android: Convert SettingSection to Kotlin * android: Convert Setting to Kotlin * android: Convert IntSetting to Kotlin * android: Convert FloatSetting to Kotlin * android: Convert BooleanSetting to Kotlin * android: Convert SubmenuSetting to Kotlin * android: Convert StringSingleChoiceSetting to Kotlin * android: Convert SliderSetting to Kotlin * android: Convert SingleChoiceSetting to Kotlin * android: Convert SettingsItem to Kotlin * android: Convert HeaderSetting to Kotlin * android: Convert DateTimeSetting to Kotlin * android: Convert CheckBoxSetting to Kotlin * android: Convert GameAdapter to Kotlin * android: Convert SettingsAdapter to Kotlin * android: Convert EmulationActivity to Kotlin * android: Use material slider in settings dialog * android: Convert Settings to Kotlin * android: Use androidx preferences * android: frontend: Add unique error strings for Vulkan initialization errors. * android: Use the center of the object and reduce draw calls * android: Replace old buttons with vectors * android: Enable Kotlin support * android: Upgrade java version to 11 * android: Upgrade dependencies * android: Upgrade to AGP 7.4.2 * android: Replace lintOptions with lint * android: Move namespace to app module build.gradle * android: bump compile/target sdk to 33 * android: Upgrade gradle to 8.0.1 * video_core: fix clang-format errors * CMake: fix pkg-config behavior when building for Android * CI: add Android build systems * android: build.gradle: Cleanup build types. * android: frontend: settings: Add graphics debugging. * android: jni: Ensure system is only initialized once. * video_core: vulkan_device: Correct error message for unsuitable driver. * android: frontend: Cleanup framerate counter. * android: vulkan: Implement adrenotools turbo mode. * android: vulkan_device: Disable VK_EXT_extended_dynamic_state2 on Qualcomm. * android: frontend: Add support for GPU driver selection. * android: native: Add support for custom Vulkan driver loading. * core: frontend: Refactor GraphicsContext to its own module. * common: dynamic_library: Add ctor for existing handle. * android: EmulationFragment: Always reset overlay. * Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs * Implement scaled vertex buffer format emulation * Disable push descriptors on adreno drivers * Disable VK_EXT_extended_dynamic_state on mali * Disable multithreaded pipeline compilation on Qualcomm drivers * android: Add motion sensor * android: Hook jni input properly * android: cleanup touch update loop * android: Clean joystick overlay * android: Clean dpad overlay * android: Clean button overlay * android: Add all buttons to screen controller * android: Apply clang format * android: frontend: Implement game grid view. (#9) * android: Replace notification icon with yuzu * android: strings: Refresh key dumping URL. * android: frontend: Modify ROM load messaging for invalid keys. * android: frontend: Integrate key installation for SAF. * android: jni: Add function to reload keys. * core: crypto: key_manager: Add methods to reload & validate keys. * android: EmulationActivity: Temporarily disable running notification. * android: Implement SAF support & migrate to SDK 31. (#4) * android: Harden emulation shutdown when loader fails. * android: SettingsFragmentPresenter: Fix default renderer backend. * android: jni: native: Add lock around HaltEmulation, tighten run loop. * android: jni: native: Refactor locking for is_running. * android: jni: native: Remove unnecessary atomic for is_running. * android: jni: native: Tighten up emulation start/stop signaling. * android: jni: native: Consolidate emulation state into EmulationSession singleton. * android: Frontend: Fix rendering aspect ratio & add a setting for it. * android: Integrate settings frontend with yuzu & remove unused code. * externals: add adrenotools for bcenabler * device_memory: Use smaller virtual reservation size for compatibility with 39-bit paging * video_core: vulkan_device: Device initialization for Adreno. * video_core: vk_pipeline_cache: Disable support_descriptor_aliasing on Android. * video_core: vk_swapchain: Fix image format for Android. * android: Minimize frontend & convert to yuzu. * video_core: vk_blit_screen: Rotate viewport for Android landscape. * common: error: Fix for Android. * common: fs: Implement for Android. * common: logging: Implement Android logcat backend. * common: host_memory: Implement for Android. * android: Minimal JNI for yuzu. * android: Add Citra frontend. * cmake: Integrate bundled FFmpeg for Android. * cmake: Integrate submoduled LLVM & fixes for Android. * host_memory: merge adjacent placeholder mappings on Linux ------------------------------------------------------------------- Sun Jun 04 00:17:19 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1457: * "Merge Tagged PR 10508" * issue_template: Add link to website, Getting Log Files * Update translations (2023-06-01) * Fix incorrect id check and potential out of bounds lookup * CopyFFmpegDeps: Update variable name * Skip BufferCache tickframe with no channel state set * input_common: rename PAGE_SIZE to avoid conflict * yuzu: Disable game list while game is running * CMakeLists: Rollback minimum to fmt 9 * externals: Update to fmt 10 and add format_as formatter for BitField * gl_texture_cache: Fix ASTC CPU decoding with compression disabled * microprofile: Avoid crashing due to OOB stack pos * renderer_vulkan: Remove timeline semaphore wait * Audren wait as suggested by ByLaws * Move buffer bindings to per-channel state * qt: add menu item to remove cache storage * vfs_concat: fix time complexity of read * Fix buffer overlap checking skipping a page for stream score right expand * cmake: apply defaults to all externals * add context menu for filter and anti-aliasing status buttons * Add support for deinterlaced videos playback * Fixup upload.ps1 for GHA * Use TARGET_FILE_DIR generator expression ------------------------------------------------------------------- Fri Jun 02 15:56:09 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1456+37~git20230602.f3fa37cd23: * "Merge Tagged PR 10508" * "Merge Tagged PR 10091" * Update translations (2023-06-01) * Fix incorrect id check and potential out of bounds lookup * "Merge Tagged PR 10091" * CopyFFmpegDeps: Update variable name * Skip BufferCache tickframe with no channel state set * "Merge Tagged PR 10091" * input_common: rename PAGE_SIZE to avoid conflict * yuzu: Disable game list while game is running * "Merge Tagged PR 10091" * renderer_vulkan: Remove timeline semaphore wait * Fix buffer overlap checking skipping a page for stream score right expand * add context menu for filter and anti-aliasing status buttons ------------------------------------------------------------------- Mon May 29 05:26:00 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1450+27~git20230529.80cf3e9e3b: * "Merge Tagged PR 10091" * CMakeLists: Rollback minimum to fmt 9 * externals: Update to fmt 10 and add format_as formatter for BitField * gl_texture_cache: Fix ASTC CPU decoding with compression disabled * "Merge Tagged PR 10091" * "Merge Tagged PR 10471" * microprofile: Avoid crashing due to OOB stack pos * Audren wait as suggested by ByLaws * Move buffer bindings to per-channel state * qt: add menu item to remove cache storage * vfs_concat: fix time complexity of read * cmake: apply defaults to all externals * Add support for deinterlaced videos playback * Fixup upload.ps1 for GHA * Use TARGET_FILE_DIR generator expression ------------------------------------------------------------------- Sat May 27 13:32:48 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1448+22~git20230527.b7afb7f04f: * "Merge Tagged PR 10091" * shader_recompiler: fix copy-paste error * texture_cache: process aliases and overlaps in the correct order * vulkan_device: Enable VK_KHR_push_descriptor on newer ANV ------------------------------------------------------------------- Fri May 26 15:38:51 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1447+20~git20230526.00e0a020af: * "Merge Tagged PR 10418" * "Merge Tagged PR 10221" * Don't exit when using "-u" option in yuzu-cmd * video_core: don't garbage collect during configuration * Add short "-u" option for yuzu_cmd. * input_common: Implement amiibo writting * Smooth out the DSP callback by adding a 5ms wait time limit ------------------------------------------------------------------- Thu May 25 15:16:20 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1444+15~git20230525.09d0784a1e: * "Merge Tagged PR 10221" * "Merge Tagged PR 10443" * Texture cache: revert wrong acceleration assumption * Texture Cache Util: Fix block depth adjustment on slices. * service: nfc: Remove encryption key requirement ------------------------------------------------------------------- Wed May 24 15:30:40 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1442+14~git20230524.99e18a6aa7: * video_core: tune garbage collection aggressiveness * textures: add BC1 and BC3 compressors and recompression setting * k_memory_block_manager: remove auditing calls * "Merge Tagged PR 10402" * renderer_vulkan: barrier attachment feedback loops * Limit the device access memory to 4 GB * externals: update cubeb * vk_master_semaphore: Move fence wait on separate thread * input_common: Map motion with relative values not absolute ones * "Merge Tagged PR 10262" * "Merge Tagged PR 10262" * "Merge Tagged PR 10181" * "Merge Tagged PR 10234" * "Merge Tagged PR 10249" * "Merge Tagged PR 10262" ------------------------------------------------------------------- Fri May 19 21:08:28 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1439: * externals: update cubeb (#10362) * renderer_vulkan: remove wrong constexpr * vulkan_device: Disable VK_KHR_push_descriptor on ANV * input_common: Fix pro controller amiibo support * service: hid: Use span instead of vector reference * Buffer Cache: Clear sync code. * input_common: Make amiibo scanning less demanding * vulkan_common: disable depth clamp dynamic state for older radv * Fix missing pic_order_present_flag in h264 header * Fix Tears of the Kingdom flickering clouds and depths. * Allow fully customisable controller hotkeys * Use the rendertarget format of the correct RT rather than the first valid * configure_graphics_advanced: Hide input compute toggle a little later * yuzu-qt/config: Add option to disable compute on Intel * vk_pipeline_cache: Use setting to disable intel compute * settings: Add enable compute pipelines ------------------------------------------------------------------- Mon May 15 18:28:28 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1435: * "Merge Tagged PR 10181" * "Merge Tagged PR 10234" * "Merge Tagged PR 10249" * "Merge Tagged PR 10262" * vulkan_device: reserve extra memory to prevent swaps ------------------------------------------------------------------- Sun May 14 14:44:54 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1433: * "Merge Tagged PR 10181" * "Merge Tagged PR 10234" * "Merge Tagged PR 10249" * "Merge Tagged PR 10262" * vulkan_common: fix incompatible property flags ------------------------------------------------------------------- Sat May 13 20:45:06 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1431+23~git20230513.36d6c118c: * "Merge Tagged PR 10181" * "Merge Tagged PR 10234" * "Merge Tagged PR 10249" * "Merge Tagged PR 10262" ------------------------------------------------------------------- Sat May 13 02:34:41 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1429+27~git20230513.224018236: * "Merge Tagged PR 10181" * "Merge Tagged PR 10234" * "Merge Tagged PR 10249" * time: implement ContinuousAdjustmentTimePoint * Correctly track RT indexes for image aspect lookup during clears * fs: adjust future save path * am: stub CreateCacheStorage * fs: stub cache storage and fix params alignment * nvnflinger: fix Parcel serialization * nvnflinger: fix producer slot fence init ------------------------------------------------------------------- Fri May 12 13:35:06 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1429: * "Merge Tagged PR 10181" * "Merge Tagged PR 10234" * "Merge Tagged PR 10236" * "Merge Tagged PR 10237" * "Merge Tagged PR 10243" * "Merge Tagged PR 10244" ------------------------------------------------------------------- Fri May 12 05:22:53 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1428: * "Merge Tagged PR 10181" * "Merge Tagged PR 10234" * "Merge Tagged PR 10236" * "Merge Tagged PR 10237" * Allow Fermi blit accelerate to add src/dst to the cache if they don't exist already. Use ScratchBuffers in the software blit path. * renderer_vulkan: separate guest and host compute descriptor queues * Swap order of checking/setting region modifications in the buffer_cache ------------------------------------------------------------------- Thu May 11 14:57:02 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1427: * "Merge Tagged PR 10132" * "Merge Tagged PR 10181" * Update README.md to remove Skyline license exception. * service: nfc: Seed all random values * service: nfp: Allow to load with a different amiibo id ------------------------------------------------------------------- Wed May 10 16:47:40 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1426: * "Merge Tagged PR 10181" * Improve emulation of HD Rumble ------------------------------------------------------------------- Wed May 10 07:48:49 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1425: * "Merge Tagged PR 10181" * input_common: Fix nfc detection for joycons * Texture Cache: Fix ASTC textures * qt_common: consistently ifdef QPlatform after cbd79df23375 * yuzu: Make 3d cube with joycon shape * core: hid: Allow to calibrate gyro sensor * vfs_layered: avoid n^2 lookup in layeredfs building * vfs_vector: avoid n^2 lookup in layeredfs building * Merge pull request #10081 from Kelebek1/copy_overlap_tick ------------------------------------------------------------------- Tue May 09 08:27:50 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1424: * bootmanager: remove stop_token header * core: hid: Update motion on a better place * externals: Update dynarmic to include latest patch. * Texture cache: Only force flush the dma downloads * Buffer Cache: disable reactive flushing in it. * Texture cache: reverse inmediate flush changes * Buffer cache: always use async buffer downloads and fix regression. * Address feedback, add CR notice, etc * Query cache: stop updating pages as it's not affected by cpu writes * Settings: add option to enable / disable reactive flushing * Texture cache: sync the first flush. * GPU: Add Reactive flushing * externals: Update dynarmic to include latest patch. * yuzu/applets/qt_profile_select: connect double-click to accept() * Fix address space allocator slow path to avoid OOB * service: nfc: Merge device interfaces and create the device manager * Log object names with debug renderer, add a GPU address to ImageViews * core: service: Add FunctionInfoTyped to allow expanding existing interfaces * service: nfc: Create mifare interface * service: nfc: Create interface * Silence nifm spam * Sort overlap_ids by modification tick before copy ------------------------------------------------------------------- Sun May 07 17:35:08 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1423: * input_common: Revert debugging changes * Fix read access violation * input_common: Add experimental motion to button * input_common: Add property to invert an axis button * input_common: Add property to invert an axis button * yuzu: Add motion preview to controller input * externals: Update dynarmic to 6.4.7 * yuzu-sdl,audio_core: Remove antiquated warning ignore * qt_common: Remove yuzu prefix * configure_graphics: No there isn't a hyphen in VSync * configure_input_player: Add missing include * configure_graphics: Clean up includes [IWYU] * bootmanager: Clean up includes [IWYU] * configure_graphics: Actively find present modes * vk_swapchain: Use certain modes for unlocked * bootmanager: Remove inaccurate switch * qt_common: Move window info function out of bootmanager * vulkan_surface: Pass only window info for surface creation * settings: Enable FIFO relaxed * configure_graphics: Fix another typo * telemetry_session: Make translate function static * bootmanager: Return value in impossible case * configure_graphics: Fix typo * default_ini: Update V-Sync description * configuration: Expose separate swap present modes ------------------------------------------------------------------- Sun May 07 00:32:16 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1422: * core: hid: Fix state of capture and home buttons * Remove LGTM config * settings: remove pessimistic flushing * Memory manager: Fix possible softlock * GPU: implement missing ASTC * vk_present_manager: Fix softlocks when disabling async present * catch2: update to 3.3.1 * Fix code resize to use word size rather than byte size * vulkan: disable turbo when debugging tool is attached * video_core: fix build on Apple Clang * CMake: Enable type limits on Clang * CMakeLists: Enable checks on Clang * vk_present_manager: Add toggle for async presentation * vk_blit_screen: Recreate FSR when frame is recreated * renderer_vulkan: Fix crashing when updating descriptors * renderer_vulkan: Async presentation * Update translations (2023-05-01) (#10129) * BufferCache: Fixes and address feedback * qt: warn on inoperable keys * Wait for the terminate event before destroying a system instance * settings: rename extended memory layout to unsafe, move from general to system * Define SampleMask as an array * kernel: remove general boost lists * kernel: match calls to Register and Unregister * common: add intrusive list type * Texture Cache: Release stagging buffers on tick frame * Buffer Cache: Release stagging buffers on tick frame * Tests: Add memory tracker tests. * Clang: format and ficx compile errors. * Implement Async downloads in normal and fix a few issues. * Buffer Cache rework: Setup async downloads. * Buffer Cache: Fully rework the buffer cache. * Address Feedback & Clang Format * Maxwell3D: only update parameters on High * Accelerate DMA: Use texture cache async downloads to perform the copies to host. * TextureCache: refactor DMA downloads to allow multiple buffers. * vk_pipeline_cache: Skip compute pipelines on Intel proprietary drivers * QueryCache: Fix write invalidation. * MemoryManager: Fix race conditions. * Clang format and ddress feedback * QueryCache: rework async downloads. * Accuracy Normal: reduce accuracy further for perf improvements in Project Lime * Fence Manager: implement async fence management in a sepparate thread. ------------------------------------------------------------------- Sun Apr 30 00:31:40 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1414: * "Merge Tagged PR 10082" * maxwell_3d: fix out of bounds array access in size estimation * core: am: Demote TryPopFromFriendInvitationStorageChannel Log level * Account for a pre-added offset when using Corner sample mode for 2D blits * Run clang-format to fix all. * Fix formatting. * Allow passing `bind_address` to dedicated room. * core: audio: return result when audio_out initialize failed * core: hid: Remove deadzone of virtual controller * vulkan: use plain fences when timeline semaphores are not available * service: nfp: Implement debug Interface * service: nfp: Implement system interface * service: nfp: Use an unique interface * vulkan: pick alpha composite flags based on available values ------------------------------------------------------------------- Thu Apr 27 07:56:23 UTC 2023 - virtuousfox@gmail.com - Update to version 0.1411: * "Merge Tagged PR 10082" * maxwell_3d: fix out of bounds array access in size estimation * core: am: Demote TryPopFromFriendInvitationStorageChannel Log level * Account for a pre-added offset when using Corner sample mode for 2D blits * Run clang-format to fix all. * Fix formatting. * Allow passing `bind_address` to dedicated room. * core: audio: return result when audio_out initialize failed * core: hid: Remove deadzone of virtual controller * vulkan: use plain fences when timeline semaphores are not available * service: nfp: Implement debug Interface * service: nfp: Implement system interface * service: nfp: Use an unique interface * vulkan: pick alpha composite flags based on available values * "Merge Tagged PR 10004" * "Merge Tagged PR 9969" * "Merge Tagged PR 10004" * "Merge Tagged PR 9969" * "Merge Tagged PR 10004" * "Merge Tagged PR 10005" ------------------------------------------------------------------- Sun Apr 16 00:31:38 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1404: * input_common: minor fix to mouse movement * video_core: Enable ImageGather rounding fix on AMD open source drivers * kernel: move more memory to application in 8GB arrangement * kernel: switch extended memory setting to 8GB arrangement * Use GetGlobalTimeNs as opposed to clock ticks * shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffset Should be more efficient and better readable * video_core: Enable ImageGather with subpixel offset on Intel * shader_recompiler: Add subpixel offset for correct rounding at `ImageGather` On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures. See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary. * Add some explicit latency to sample count reporting * video_core: Keep the definition of DimensionControl consistent with nvidia open doc * Re-enable LTO for Linux * video_core: Better defined ImageInfo parameters ------------------------------------------------------------------- Sun Apr 09 00:31:40 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1397: * "Merge Tagged PR 10014" * "Merge Tagged PR 10027" * "Merge Tagged PR 10030" * general: fixes for gcc 13 ------------------------------------------------------------------- Tue Apr 04 18:46:02 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1393: * "Merge Tagged PR 10009" * "Merge Tagged PR 10014" * Update translations (2023-04-04) * service: hid: Fix handle validation * Only upload GPU-modified overlaps ------------------------------------------------------------------- Sun Apr 02 15:36:05 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1391: * "Merge Tagged PR 10004" * core: arm_dynarmic_32: Update SaveContext/LoadContext. * externals: Update dynarmic to 6.4.6 * externals: update Vulkan-Headers to v1.3.246 * applet: controller: Implement cancel button * service: hid: Implement SetNpadJoyAssignmentModeSingleWithDestination * service: am: Improve profile select applet * audio_core: No longer stall when sink queue is full * Run clang-format * audio: Wait for samples on the emulated DSP side to avoid desyncs * audio: Interpolate system manager sample count using host sink sample info ------------------------------------------------------------------- Sun Apr 02 00:32:10 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1390: * "Merge Tagged PR 9969" * "Merge Tagged PR 10004" * Fixes 'Continous' typo * kernel: fix unbounded stack usage in atomics * telemetry: Add waitpkg instruction * x64: Simplify RDTSC on non-MSVC compilers * core_timing: Make use of MicroSleep for x64 CPUs * x64: Add MicroSleep * x64: cpu_detect: Add detection of waitpkg instructions * service: hid: Silence warning on MergeSingleJoyAsDualJoy * qt: Fix log softlock * service: nfp: Add plain amiibo support * tests: mark integer literals as unsigned * container_hash: use climits * video_core/macro: Make use of Common::HashValue * tests: Implement tests for verifying HashValue * common: Port boost's hash_value implementation * CMakeLists: Require a minimum of boost 1.79.0 * qt: implement RequestExit for applets * applets: implement RequestExit * memory: rename global memory references to application memory ------------------------------------------------------------------- Sun Mar 26 00:32:23 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1382: * "Merge Tagged PR 9989" * Pass GPU page table by reference * vulkan: fix scheduler chunk reserve * zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSize * CMakeLists: Update boost to 1.81.0 * vcpkg: Update vcpkg to 2023.02.24 * nfc: Initialize device when controller is connected ------------------------------------------------------------------- Sat Mar 25 11:29:27 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1380: * kernel: use KTypedAddress for addresses * bounded_threadsafe_queue: Refactor Pop * bounded_threadsafe_queue: Add producer cv to avoid busy waiting * bounded_threadsafe_queue: Deduplicate and add PushModes * bounded_threadsafe_queue: Add TryPush * logging: Make use of bounded queue * bounded_threadsafe_queue: Use simplified impl of bounded queue * vulkan: fix more excessive waiting in scheduler * kernel: fix LOG_TRACE in ipc * common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W. * common: bounded_threadsafe_queue: Use polyfill_thread. * config: Fix controller config from resetting * Disable SRGB border color conversion for now, to fix shadows in Xenoblade. ------------------------------------------------------------------- Fri Mar 24 14:17:46 UTC 2023 - Alexey Svistunov <svalx@svalx.net> - Compile with GCC12 for avoid errors with new Factory default GCC13 - Enable Discord Rich Presence - Use QtMultimedia for Camera and QtWebEngine for web applet implementation - Build with system installed cpp-httplib and Vulkan headers - Add clang-devel (for LLVM) and libxml2 to BuildRequires ------------------------------------------------------------------- Sun Mar 19 00:30:19 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1374: * service: nfp: Replace crc function with boost equivalent * service: nfp: Close app area and recreate crc * service: nfp: Convert mii colors to v3 * vulkan: disable extendedDynamicState3ColorBlendEquation on radv * service: nfp: Actually write correct crc * configure_audio: Fix output mode setting not saving * input_common: sdl: Only send last vibration command * kernel: additional style fixes to KThread, KProcess * kernel: fix clang build * kernel: remove unnecessary finalize calls * kernel: convert KProcess to new style * kernel: convert KThread to new style * kernel: prefer std::addressof * kernel: convert KResourceLimit * kernel: remove kernel_ * kernel: remove gratitutous attribute usage * kernel/svc: convert to new style * kernel: convert miscellaneous * kernel: conver KScopedLock, KScopedResourceReservation, KSessionRequest, KSharedMemory, KSpinLock * kernel: convert KAbstractSchedulerLock * kernel: convert KMemoryLayout, KMemoryRegion*, KPageTableSlabHeap, KPriorityQueue * kernel: move KMemoryLayout for NX board * kernel: remove KLinkedList * kernel: convert KConditionVariable, KLightConditionVariable, KLightLock * kernel: convert KPort, KSession * kernel: convert GlobalSchedulerContext, KAddressArbiter, KScopedSchedulerLockAndSleep, KThreadQueue to new style * vk_scheduler: split work queue waits and execution waits * general: fix spelling mistakes * video_core: Fix ogl status error when draw_texture * video_core: Invalid index_buffer flag when inline_index draw * general: use codespell to identify spelling mistakes * yuzu: Move audio settings to audio section * yuzu: Remove console id setting * video_core: Update texture format * gl_rasterizer: Implement AccelerateDMA DmaBufferImageCopy * Refactor AccelerateDMA code * gpu_thread: Use bounded queue ------------------------------------------------------------------- Sun Mar 12 00:30:36 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1367: * "Merge Tagged PR 9913" * service: nfp: Improve implementation * OpenGL: Prefer glClientWaitSync for OGLSync objects * perf_stats: Check multicore first * hid: Use nanosecond timestamps instead of ticks * core: Promote CPU/GPU threads to time critical * native_clock: Wait for 10 seconds instead of 30 * native_clock: Use RealTimeClock instead of SteadyClock * steady_clock: Introduce a real time clock * native_clock: Re-adjust the RDTSC frequency * input_common: Minor typo issues (#9922) * kernel: add timer pointer to KThreadQueue * input_common: Increase mouse sensitivity range * common: make BitCast constexpr * general: fix type inconsistencies * kernel: avoid signed overflow UB on MSVC * kernel: clone fpu status on CreateThread * hle: rename legacy errors to Results * kernel: add missing header for libc++ * fix typo in settings.h * service: acc: Replace default image with a 32x32 image * input_common: joycon: Add stick input from passive reports * service: psc: Update names * service: ssl: Add missing properties and update names * service: usb: Update names * kernel: fix WaitSynchronization * Engines: Implement Accelerate DMA Texture. * native_clock: Round RDTSC frequency to the nearest 1000 * timer_resolution: Set current process to High QoS * general: Target Windows 10 SDK * hardware_properties: Update BASE_CLOCK_RATE to exactly 1020 MHz * core_timing: Use higher precision sleeps on Windows * main: (Windows) Set the current timer resolution to the maximum * wall_clock: Make use of SteadyClock * common: Implement a method to change the Windows timer resolution * common: Implement a high resolution steady clock * Check all swizzle components for red, not just [0], pass float border color rather than int * Fix a bug with the Reverb command in reading from the pre_delay line. * buffer_cache: Add logic for non-NVN storage buffer tracking ------------------------------------------------------------------- Sun Mar 05 00:30:28 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1360: * "Merge Tagged PR 9786" * "Merge Tagged PR 9890" * ci: Actually enable LTO on MSVC (#9887) * vulkan_common: disable vertexInputDynamicState on unsupported driver * kernel: be more careful about kernel address keys * kernel: refactor priority inheritance to represent locks as C++ objects * kernel: simplify AddressSpaceInfo, update values * kernel: barrier memory before condition variable write * kernel: document previous location of interrupt disables in arbiter/condvar * kernel: adjust pool allocations * kernel: simplify KAbstractSchedulerLock::Lock * kernel: add InfoType::IoRegionHint * nvnflinger: fix name * service: move hle_ipc from kernel * sm:: remove unused member * Update translations (2023-03-01) * cmake: use correct boost imported targets * cmake: support components in find modules * externals: use openssl from vcpkg * Partially apply LTO to only core and video_core projects. * service: btm: Fix handle functions * Revert "yuzu: config: Remove player 8 and 9 from config file" * yuzu: config: Remove player 8 and 9 from config file * config: Fix per game Force max clock * core: hidbus: Fix BusType size * core: Update service function tables to 16.0.0+ * am: avoid direct pointer access of transfer memory objects * hid: avoid direct pointer access of transfer memory objects * configuration: Add async ASTC decode setting * texture_cache: Add async texture decoding * core: hid: Restore motion state on refresh and clamp motion values * input_common: Implement dedicated motion from mouse * cmake: fix cpp-jwt build * sm:: fix lingering session initialization issues * cheat_engine: add check for hid initialization * sm:: support service registration deferral * service: refactor server architecture * core: defer cpu shutdown ------------------------------------------------------------------- Sun Feb 26 00:30:30 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1351: * "Merge Tagged PR 9786" * settings: Add more input settings to the log * core: hid: Fix native mouse mappings * yuzu: Set a lower timeout for discord presence * svc: Fix type consistency (exposed on macOS) * externals: Update cpp-httplib to latest * net: translate ECONNRESET network error * Qt: Reintroduce scaling for touch input ------------------------------------------------------------------- Mon Feb 20 14:39:56 UTC 2023 - pousaduarte@gmail.com - Update to version 0.1346: * "Merge Tagged PR 9786" * "Merge Tagged PR 9834" * kernel: add KObjectName * yuzu: Shutdown game on restart to reload per game config * input_common: Split mouse input into individual devices * Qt: Fix mouse scalling * Reimplement the invalidate_texture_data_cache register * Allow >1 cpu threads on video decoding, disable multi-frame decoding * Add fallback for memory read/write in case the address goes over a 4K page * Fix depop prepare receiving bad mix infos and writing out of bounds, and update aux a bit, may help * kernel: Refactor thread_local variable usage * Revert "shader_recompiler: Align SSBO offsets to meet host requirements" * Revert "Vulkan, OpenGL: Hook up storage buffer alignment code" ------------------------------------------------------------------- Tue Feb 14 07:13:36 UTC 2023 - svalx@svalx.net - Update to version 0.1339: * "Merge Tagged PR 9588" * "Merge Tagged PR 9769" * "Merge Tagged PR 9778" * Update settings.cpp * texture_cache: OpenGL: Implement MSAA uploads and copies * kernel/svc: Fix undefined info_id * video_core: Speed up video frame data copy * core: hid: Use gyro thresholds modes set by the game ------------------------------------------------------------------- Tue Feb 14 07:10:17 UTC 2023 - Alexey Svistunov <svalx@svalx.net> - Change a package version format - Edit _service for manual run with last tag - Disable submodules check by YUZU_CHECK_SUBMODULES=OFF instead inline patch - Use mold linker - Drop some unneeded BuildRequires and add another few - Clean specfile from deprecated macroses ------------------------------------------------------------------- Sun Feb 12 00:22:53 UTC 2023 - pousaduarte@gmail.com - Update to version 01337: * "Merge Tagged PR 9042" * "Merge Tagged PR 9588" * kernel: avoid usage of bit_cast * main: Re-add QtWebEngine zoom factor * input_common: Reintroduce custom pro controller support * audio: cubeb: Fix yuzu crashing when it test for latency * buffer_base: Partially revert changes from #9559 * glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask * service: hid: Return error if arguments of SetSupportedNpadIdType is invalid * kernel/svc: switch to generated wrappers * kernel: fix compilation with older gcc * Update yuzu_cmd's default_ini.h * Remove fake vertex bindings when dynamic state is enabled * dynarmic: Update to 6.4.5 * kernel/svc: Split implementations into separate files * Add Game Icon for Discord RPC Connected to Yuzu Compatibility Page * yuzu_cmd: Order arguments alphabetically and port arguments from Qt * yuzu_cmd: Fix mismatching controller input * yuzu_cmd: Fix touch input * shader_recompiler/value.h: Remove lingering references to S32 * remove disambiguation argument from mute text * main: Convert to device independent coordinates for scaling * main: Use passthrough scaling for non-windows OSes * main: Enable High DPI fixes for Qt >= 5.14 * add volume quicksetting with volume slider ------------------------------------------------------------------- Sun Feb 05 00:23:03 UTC 2023 - pousaduarte@gmail.com - Update to version 01329: * "Merge Tagged PR 4949" * "Merge Tagged PR 9042" * "Merge Tagged PR 9588" * fsp_srv: Copy HLE Read Buffer for OutputAccessLogToSdCard * Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span" * added 'Hide empty rooms' toggle to lobby * Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer" * input_common: Simplify stick from button * kernel: add KDeviceAddressSpace * yuzu: config: Draw turbo buttons with a different color * input_common: Implement turbo buttons * Update translations (2023-02-01) * kernel: add KCapabilities * gl_compute_pipeline: Force context flush when loading shader cache * input_common: joycon: Remove Magic numbers from common protocol * cmake: Download clang format 15 * gl_graphics_pipeline: Force context flush when loading shader cache * input_common: joycon: Fill missing enum data * apply-patches-by-label: Remove unused variables and imports * apply-patches-by-label: Use python f-strings * ci: Abort on failure to query Github's API * Move to Clang Format 15 * spirv: Fix TXQ with MSAA textures * emit_glasm_image: Fix TXQ with MSAA textures * emit_glsl_image: Implement TXQ with MSAA textures * texture_pass: Fix texture descriptors comparisons * texture_pass: Refactor texture handle retrieval * shader_recompiler: TXQ: Skip QueryLevels when possible * emit_glsl_image: Fix ImageFetch for MSAA textures * yuzu: config: Avoid reading deleted object * LDN Hostname Support in Direct Connect * texture_cache: Adjust image view sizes by MSAA samples * video_core: Implement vulkan clear specified channel * polyfill_thread: satisfy execution ordering requirements of stop_callback * input_common: joycon: Replace ReadSPI vector with span * input_common: joycon: Remove magic numbers from calibration protocol * glasm: Add MS sampler types * glsl: Add MS sampler types * shader_recompiler: Remove S32 IR type * hle_ipc: Use thread_local ReadBuffer * hle_ipc: Rename ReadBufferSpan to ReadBuffer * hle_ipc: Rename ReadBuffer to ReadBufferCopy * bsd: Use std::span for read payloads * nvdrv: Use std::span for inputs * hidbus: Use ReadBufferSpan * nvflinger: Split Parcel class into InputParcel and OutputParcel * service: Use ReadBufferSpan where it is trivial to do so * fsp_srv: Use ReadBufferSpan * hle_ipc: Add ReadBufferSpan function ------------------------------------------------------------------- Sun Jan 29 00:22:13 UTC 2023 - pousaduarte@gmail.com - Update to version 01323: * "Merge Tagged PR 9042" * "Merge Tagged PR 9588" * kernel: unbreak min/max template deduction on Apple Clang * video_core/opengl: Add FSR upscaling filter to the OpenGL renderer * input_common: Implement SetLowPowerMode and TriggersElapsed for the joycon driver * main: Only set AA_DisableWindowContextHelpButton below Qt6 * input_common: Make use of StoppableTimedWait * polyfill_thread: Implement StoppableTimedWait * input_common: add missing header for libc++ after 340f15d1fa79 * Revert 9617 and fix it on input_common * default_ini: Split and concatenate the config string literal * Revert "MemoryManager: use fastmem directly." * main: Globally disable the "?" button on dialogs * kernel: split SetAddressKey into user and kernel variants * kernel: fix incorrect locking order in suspension * spirv: fix multisampled image fetch * cmake: prefer system llvm library * kernel: KPageTable: update * yuzu: Fix language comobox crash * nsight_aftermath_tracker: update for latest Aftermath SDK * Change licenses * core: hid: Make use of SCOPE_EXIT and SCOPE_GUARD where applicable * input_common: Fix joycon mappings * input_common: Address byte review * core: hid: Only set the polling mode to the correct side * input_common: Drop Pro controller support from custom driver * input_common: Fix issue where ring and irs are enabled at the same time * input_common: Implement joycon ir camera * yuzu: Add ring controller test button * input_common: Use DriverResult on all engines * Address review comments * core: hid: Fix input regressions * input_common: Implement joycon nfc * input_common: Add dual joycon support * input_common: Add support for joycon ring controller * input_common: Add support for joycon input reports * input_common: Use calibration from joycon * input_common: Add support for joycon generic functions * input_common: Add joycon low level functions * service: hid: Set led pattern and fix color detection * core: hid: Enable pulling color data from controllers * core: hid: Migrate ring from emulated devices to emulated controller * yuzu: Update controller colors and button names * input_common: Disable SDL driver with switch controllers * input_common: Initial skeleton for custom joycon driver * fix format * allow volume up/down hotkeys to be repeated * Be careful of mangled out of bounds read * core: hid: Fix stick minimum range * Move demangle impl to cpp * Add stacktrace symbol demangling * cmake: support the standard cmake testing option * tests: update catch2 to 3.0.1 ------------------------------------------------------------------- Sun Jan 22 00:22:04 UTC 2023 - pousaduarte@gmail.com - Update to version 01315: * "Merge Tagged PR 9042" * "Merge Tagged PR 9588" * fix(dist): wrap screenshots in <image> tags * input_common: reset sdl motion if data is invalid * Demote maxwell3d Firmware4 call log to debug * Address feedback * memory: fix watchpoint use when fastmem is enabled * externals: Update dynarmic to 6.4.4 * timing: wait for completion on unregister * upsample: Fix coefficient format * audio_core: Fix off-by-one error in upsampler * Update settings.h * CPP * UI change * 1.5X resolution scaler option * debugger: add host fastmem pointer fetch command * nvnflinger: correct swap interval handling * video_core: Implement opengl/vulkan draw_texture * video_core: Implement maxwell3d draw texture method ------------------------------------------------------------------- Sun Jan 15 00:24:20 UTC 2023 - pousaduarte@gmail.com - Update to version 01307: * "Merge Tagged PR 9042" * "Merge Tagged PR 9556" * "Merge Tagged PR 9588" * yuzu: Read mouse wheel input * qt: unlock during signal emission * vulkan_common: fix indirect draw with count * MoltenVK: restrict number of vertex attributes/bindings to 16 * qt: fix configuration weirdness on turbo * macOS: Make Yuzu show up in the Launchpad Games folder (#9594) * vulkan_device: refactor feature testing * renderer_vulkan: disable turbo by default * VideoCore: Fix OGL cache invalidation. * Revert "Revert "k_page_group: synchronize"" * TAS: Show all script lengths for multiplayer * renderer_vulkan: pause turbo submissions on inactive queue * Avoid OOB array access reading passthrough attr mask * vulkan_device: avoid attempt to access empty optional * renderer_vulkan: disable clock boost on unvalidated devices * qt: additional fixes for reentrant shutdown * input_common: Create an update engine ------------------------------------------------------------------- Sun Jan 08 00:08:24 UTC 2023 - pousaduarte@gmail.com - Update to version 01299: * "Merge Tagged PR 9042" * "Merge Tagged PR 9570" * "Merge Tagged PR 9573" * opengl: Sanitize antialiasing config * video_core/vulkan: Fixed loading of Vulkan driver pipeline cache The header size of the Vulkan driver pipeline cache files was incorrectly in PipelineCache::LoadVulkanPipelineCache, for which the pipeline cache wasn't read correctly and got invalidated on each load. * MacroHLE: eliminate 2 rushed macros. * externals: update dynarmic, xbyak * Run clang-format * externals: Update sirit * shader_recompiler: Fix shuffle partitioning for >64 invoc-per-subgroup GPUs * Vulkan, OpenGL: Hook up geometry shader passthrough emulation * shader_recompiler: Add support for lowering geometry passthrough * Vulkan, OpenGL: Hook up storage buffer alignment code * shader_recompiler: Align SSBO offsets to meet host requirements * shader_recompiler: SPIRV: Only enable int64 feature when supported * shader_recompiler: Add comparison operators to descriptor types * Vulkan: Add a workaround for input_position on Adreno drivers * video_core/vulkan: Vulkan driver pipelines now contain cache version So that old cache can get deleted when the cache version changes and does not grow infinitely * video_core/vulkan: Driver pipeline cache will now be deleted with the shader cache * config: Set the Vulkan driver pipeline cache option to be global * video_core/vulkan: Added check if Vulkan pipeline path has been set * config: Better wording for VK pipeline cache option and enable by default * yuzu-cmd: Removed `use_vulkan_driver_pipeline_cache` from default_ini.h The addition of the use_vulkan_driver_pipeline_cache option into the default ini string literal caused the 16,384-byte limit of the MSVC compiler to be exceeded. * video_core/vulkan: Added `VkPipelineCache` to store Vulkan pipelines As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk. * BufferBase: Don't ignore GPU pages. * Fermi2D: sync cache flushes * MemoryManager: use fastmem directly. * net: Silently translate ETIMEDOUT network error * video_core: Cache GPU internal writes. * Vulkan: Fix drivers that don't support dynamic_state_2 up * common: add setting for renderer clock workaround * vulkan: implement 'turbo mode' clock booster * renderer_vulkan: implement fallback path for null descriptors * yuzu-ui: Add setting for disabling macro HLE * Video_core: Address feedback * Texture Cache: Implement async texture downloads. * Vulkan: Update blacklisting to latest driver versions. * ShaderCompiler: Inline driver specific constants. * Vulkan: rework stencil tracking. * TAS: Immediately switch stick to TAS on input * cmake: move find-modules to root cmake dir * service: nifm: Initialize request state * service: nifm: Match documentation names * cmake: allow options shadowing with normal variables * cmake: improve find_package failure messages * vulkan_common: blacklist radv from extended_dynamic_state2 on drivers before 22.3.1 * video_core: fix build * MacroHLE: Final cleanup and fixes. * Rasterizer: Setup skeleton for Host Conditional rendering * RasterizerMemory: Add filtering for flushing/invalidation operations. * Vulkan: Allow stagging buffer deferrals. * MacroHLE: Add OpenGL Support * Vulkan: Add other additional pipeline specs * Vulkan: Implement Dynamic State 3 * Vulkan Implement Dynamic State 2 LogicOp and PatchVertices * Vulkan: Implement Dynamic States 2 * DMAPusher: Improve collection of non executing methods * Revert Buffer cache changes and setup additional macros. * MacroHLE: Reduce massive calculations on sizing estimation. * MacroHLE: Add HLE replacement for base vertex and base instance. * MacroHLE: Add Index Buffer size estimation. * MacroHLE: Refactor MacroHLE system. * MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect. * MacroHLE: Add MultidrawIndirect HLE Macro. * TAS: Record sanitized instead of raw stick inputs * vfs: Replace cstr concat with char concat * vulkan_common: unify VK_EXT_debug_utils and selection of validation layer * host_memory: Use transparent huge pages where available * host_memory: Allocate virtual_base with MAP_NORESERVE * Update translations (2023-01-01) * settings: comment language blocklist columns * settings: added regon/language warning bounds check * Revert "k_page_group: synchronize" * settings: warn on invalid regon/language combinations ------------------------------------------------------------------- Sun Jan 01 00:08:41 UTC 2023 - pousaduarte@gmail.com - Update to version 01290: * "Merge Tagged PR 9042" * "Merge Tagged PR 9518" * ci: Allow setting clang-format binary * core: hid: emulated_console: Avoid a crash if frontend does not configure touch_from_button_maps. * config: Save multiplayer settings only globally Saved multiplayer settings like the nickname, remote address, etc. were reset everytime a game was booted up and the game-specific config files were loaded, as these values will never be set. * cmake: make Vulkan-Headers external the default * cmake: make cubeb and SDL2 optional * cmake: make libusb optional * cmake: ignore missing package finders for packages with submodule fallbacks * cmake: make room server optional * video_core: Implement other missing vulkan topology * video_core: Implement vulkan QuadStrip topology * k_page_table: remove HACK_OpenPages/ClosePages * k_page_group: synchronize ------------------------------------------------------------------- Wed Dec 28 14:26:40 UTC 2022 - pousaduarte@gmail.com - Update to version 01286: * "Merge Tagged PR 9042" * "Merge Tagged PR 9423" * "Merge Tagged PR 9504" * texture_cache: Use Common::ScratchBuffer for swizzle buffers * texture_cache: Use pre-allocated buffer for texture downloads * texture_cache: Use pre-allocated buffer for texture uploads * yuzu: Automatically refresh device list ------------------------------------------------------------------- Mon Dec 26 14:39:27 UTC 2022 - i@guoyunhe.me - Update to version 01284: * "Merge Tagged PR 9042" * "Merge Tagged PR 9423" * tests: add missing header * TAS: Increase accuracy of Stick inputs * qt: prevent reentrant shutdown * kernel: workaround static shared memory initialization * time: add LockFreeAtomicType * scratch_buffer: Explicitly defing resize and resize_destructive functions * tests: Add ScratchBuffer tests * dma_pusher: Rework command_headers usage * buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usage * video_core: Add usages of ScratchBuffer * common: Add ScratchBuffer class * common: add make_unique_for_overwrite ------------------------------------------------------------------- Mon Dec 26 10:36:59 UTC 2022 - Yunhe Guo <i@guoyunhe.me> - Add -DENABLE_QT_TRANSLATION build option - Add compatibility_list.json ------------------------------------------------------------------- Sun Dec 25 00:10:23 UTC 2022 - pousaduarte@gmail.com - Update to version 01281: * "Merge Tagged PR 9042" * "Merge Tagged PR 9423" * "Merge Tagged PR 9487" * qt: fix 'Pause' menu item (#9497) * Disable automatically opening the console on windows yuzu-cmd builds (#9485) * qt: fix uninitialized memory usage * qt: exit properly on guest-initiated close * qt: use main window as close overlay parent * qt: continue event loop during game close * CMakeLists: bump required Vulkan package version to 1.3.238 * externals: update Vulkan-Headers to v1.3.238 * overlay_dialog: Avoid starting the input thread if non-interactive * overlay_dialog: Hide button dialog box when both buttons are hidden * kernel: remove TimeManager * kernel: add KHardwareTimer * input_common: Cleanup project * service: nfc: Silence ListDevices * Use execlp instead of execl to avoid failure * yuzu: Remember last selected directory * bootmanager: Use proper camera size * bootmanager: Encapsulate all QCamera code * yuzu: fix device name setting * Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang (#9442) * qt: use _exit instead of exit on SIGINT * EmuThread: refactor * qt: avoid setting WA_DontCreateNativeAncestors on all platforms * input_common: Add virtual gamepad * camera: Use pre-allocated vector for camera data * Remove unimplemented transform feedback geometry spam, it should be implemented * Signal buffer event on audio in/out system stop, and force remove all registered audio buffers * qt: handle wayland-egl platform name * hle_ipc: Refactor ReadBuffer to set buffer size upon initialization * Vulkan: Add support for VK_EXT_depth_clip_control. ------------------------------------------------------------------- Sun Dec 18 00:08:39 UTC 2022 - pousaduarte@gmail.com - Update to version 01273: * "Merge Tagged PR 7450" * "Merge Tagged PR 9042" * "Merge Tagged PR 9454" * hle_ipc: Reserve vectors before populating * kernel: svc: Fix duplicated InfoType enum * kernel: process: Implement GetFreeThreadCount * build: tweak the find modules even more * Revert "hle: service: audio: Use default service thread." * Set: Allow setting device nickname * main: Address review feedback * vulkan_common: declare storageBuffer8BitAccess * spirv_emit_context: declare GroupNonUniform capability for SubgroupLocalInvocationId * yuzu qt: Create shortcuts on Linux * gl_device: Use a more robust way to use strict context mode * OpenGL: Check for threading support * wayland: Always use exclusive fullscreen * RenderWidget: Set WA_DontCreateNativeAncestors * emu_window_sdl2: Respect hidpi * video_core/vulkan: Explicity check swapchain size when deciding to recreate * renderer_opengl: refactor context acquire * emu_thread: properly force shutdown for unresponsive guest programs * let games gracefully exit * Fix validation errors on less compatible Intel GPU * yuzu: Make unlimited frame rate non persistent between game boots * input_common: Filter SDL GUID * memory: correct semantics of data cache management operations * video_core: fix off by one in anisotropic filtering amount * cmake: make OpenGL loader optional * cmake: enable faster linkers if available * audio_core: remove explicitly defaulted and implicitly deleted constructors * memory: remove DEBUG_ASSERT pointer test * video_core: Integrate SMAA * video_core: Add vertex_array_instance_* sbubbed called warning * video_core: The draw manager manages whether Clear is required. * video_core: Adjust topology update logic * general: improve handling of system startup failure ------------------------------------------------------------------- Sun Dec 11 00:08:23 UTC 2022 - pousaduarte@gmail.com - Update to version 01266: * "Merge Tagged PR 9042" * "Merge Tagged PR 9398" * Remove the lock entirely as per PR discussion * Fix compilation error * video_core: Implement maxwell3d draw manager and split draw logic * configure_graphics: Make SPIRV backend string translatable * cmake: correct find modules * cmake: prefer system libusb * vulkan_common: further initialization tweaks * reporter: Pass by const reference where applicable * reporter: Eliminate undefined behavior in SaveErrorReport * cmake: use sdl2 imported target * applets/controller: Use aliases for callbacks * applets/error: Use aliases for callbacks * applets/mii_edit: Use aliases for callbacks * applets/profile_select: Use aliases for callbacks * applets/web_browser: Use aliases for callbacks * applets/software_keyboard: Use aliases for callbacks * emulated_controller: Remove unused parameter in GetMappedDevices() * emulated_controller: Use std::move() in GetMappedDevices() * emulated_console: Amend cast in SetTouch() * emulated_console: std::move() ParamPackages and callbacks where applicable * CMakeLists: Remove version specifier for lz4 * kernel/k_shared_memory: Ensure device_memory is always initialized * kernel/k_memory_block: Ensure members are always initialized * kernel/physical_core: Ensure is_interrupted is always initialized * kernel/thread: Ensure stack_top and argument are always initialized * kernel/kernel: Ensure shutdown threads are always initialized * externals: Bump dynarmic to 6.4.0 * Vulkan: Implement Alpha coverage * input_common: Allow mifare files * service_thread: fix uninitialized memory usage * cmake: prefer system libraries * yuzu-cmd: link SDL2 correctly * vulkan_common: add feature test for shaderDrawParameters * vulkan_common: clean up extension usage * vulkan_common: correct usage of timeline semaphore fallbacks * vulkan_common: ensure all mandatory features are tested in feature report * vulkan_common: unsuffix 16-bit storage feature test structure * vulkan_common: unsuffix timeline semaphore feature test structure * vulkan_common: add logicOp to feature report * vulkan_common: promote host query reset usage to core * vulkan_common: promote descriptor update template usage to core * vulkan_common: promote timeline semaphore usage to core * externals: update dynarmic, SDL2 * externals: disable xbyak install targets after cbaf642ffe4b * core: add option to break on unmapped access * service: nfc: Implement mifare service * video_core: Fine tuning the index drawing judgment logic * vulkan_common: quiet some validation errors * CMake: Consolidate common PCH headers * string_util: Fix Mingw compile error * CMake: Disable PCH on MSVC + Buildcache configs * Respect render mode override * CMake: Use precompiled headers * externals: Update dynarmic * value.h: remove recursive include * video_core: add null backend * configure_input_player: Fix profile saving when using handheld controller type * config: Custom profile detection fixes * configure_input_per_game: Allow configuring all 8 players * general: fix compile for Apple Clang * Configuration: Add per-game input profiles * hle: service: audio: Use default service thread. ------------------------------------------------------------------- Mon Dec 5 11:57:38 UTC 2022 - Alexey Svistunov <svalx@svalx.net> - Drop cubeb-optional.patch - cubeb always enabled by -DENABLE_CUBEB=ON - Redefine %cmake_install macro for strip binaries - Fix License tag to GPL 3+ according upstream - Increase needed GCC version to 12, because there are errors with 11 - BuildRequires and unused cmake options revised - Remove CONTRIBUTING.md from docs ------------------------------------------------------------------- Sun Dec 04 00:08:53 UTC 2022 - pousaduarte@gmail.com - Update to version 01259: * "Merge Tagged PR 9042" * "Merge Tagged PR 9232" * "Merge Tagged PR 9300" * shader_recompiler: add gl_Layer translation GS for older hardware * ci/clang: Enable bundled FFmpeg * CMake: Fix FFmpeg find module * Update translations (2022-12-01) * audio_core: sink_stream: Hold the suspend lock when process is stalled. * host1x/syncpoint_manager: Eliminate unnecessary std::function construction * host1x/syncpoint_manager: Pass DeregisterAction() handle as const-ref * maxwell_3d: Mark shifted value as unsigned * engines: Remove unnecessary casts * CMake: Directly link to SDL2-static when appropriate * service: nifm: Update stubs for Submit/GetRequestState/GetResult * CMakeLists: Bump minimum required CMake version to 3.22 * video_core/surface: Eliminate casts in GetFormatType() * producer_listener: Add virtual destructor to IProducerListener * buffer_item_consumer: Pass fence by const-ref in ReleaseBuffer() * buffer_queue_consumer: std::move std::shared_ptr in Connect() * consumer_base: Pass shared_ptr by const reference * consumer_base: Remove redundant virtual * syncpoint_manager: Mark IsSyncpointAllocated() as const * syncpoint_manager: Reduce number of bounds checks * nvdrv: Simplify builder declarations * common/cache_management: Amend header includes * input_common/helpers: Mark analog property structs members as static constexpr * core/hid/emulated_controller: Use ranges version of transform * common/input: Add helpers functions for creating input and output devices * common/input: Pass ParamPackage by const reference in CreateDevice * yuzu/main: Merge variable declaration into ifdef * yuzu-cmd: Fix default config value * Vulkan: update initialization * input_common: Pump sdl events from main thread * yuzu-cmd: Fix input callback crash on close * crypto: use user-provided keys whenever possible * yuzu-cmd: Update configuration file description * core: Use atomic instead of a lock to protect is_paused. * Oops * Replace GLSL as the default OpenGL shader backend * Sharpness instead of Sharpening * configure_graphics: Implement custom FSR Sharpening setting * settings: Reset FSR sharpening global state with the others * CMake: rework for Qt6 support * FSR Sharpening Slider part 1 - only a global slider * startup_checks: Use fmt::print, fix exec error handling * startup_checks: Use Windows flow for *nix * maxwell_to_vk: Add R16_SINT * maxwell_to_vk: Fix format usage bits * video_core: Optimize maxwell drawing trigger mechanism * qt: Add Qt version to LogRuntimes * Qt6: Disable IR Sensor when compiling with Qt6 ------------------------------------------------------------------- Sun Nov 27 00:09:02 UTC 2022 - pousaduarte@gmail.com - Update to version 01252: * "Merge Tagged PR 8829" * "Merge Tagged PR 9042" * Fermi2D: Cleanup and address feedback. * GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation. * GPU: Implement additional render target formats. * MaxwellDMA: Implement BlockLinear to BlockLinear copies. * Fermi2D: Implement Bilinear software filtering and address feedback. * Fermi2D: Rework blit engine and add a software blitter. * service: Make use of buffer element count helpers * hle_ipc: Add helper functions for getting number of buffer elements * hle_ipc: Mark relevant member functions as [[nodiscard]] * Qt: assign menuRole properties for actions * externals: always use LibreSSL on Windows * Use the maximum input index for samples buffer span size, not just the input count ------------------------------------------------------------------- Wed Nov 23 17:10:52 UTC 2022 - pousaduarte@gmail.com - Update to version 01248: * "Merge Tagged PR 8829" * "Merge Tagged PR 9042" * "Merge Tagged PR 9302" * k_handle_table: Remove cast to void* in GetObjectForIpc * qt_amiibo_settings: Use WebClient only if ENABLE_WEB_SERVICE is enabled * dmnt:cht: fix copy-paste error * github: Add blank issue template * github: Remove old markdown form * github: Add new feature request issue form * github: Add new bug report issue form * dynarmic: Fix stack misalignment in GenMemory128Accessors * service: nfc: Implement nfc user * Dynarmic: Remove inaccurate NaN from Auto CPU settings. * Update renderer_vulkan.cpp * video_core: Reimplement inline index buffer binding * general: Address review comments * service: am: Fix cabinet applet result * yuzu: Implement cabinet applet frontend * service: am: Implement cabinet applet backend * input_common: Add amiibo applet functions * service: nfc: fix tagprotocol and implement GetApplicationAreaId ------------------------------------------------------------------- Sun Nov 20 00:19:54 UTC 2022 - pousaduarte@gmail.com - Update to version 01243: * "Merge Tagged PR 8829" * "Merge Tagged PR 9042" * "Merge Tagged PR 9254" * "Merge Tagged PR 9271" * service: hid: Only overclock npad controllers * core: hid: Implement true multitouch support * spirv_emit_context: add missing flat decoration * shader: Implement miss attribute layer * maxwell3d: full HLE for multi-layer clears * maxwell3d: HLE multi-layer clear macro * externals: microprofileui: Remove unused variables * configure_profile_manager: Cleanup reference/pointer usage * configure_profile_manager: Remove profile picture border * configure_profile_manager: Use a custom dialog for deletion * nvnflinger: fix lost wakeup * core: Update result module * Add break for default cases * Ignore ARM for core count * kernel: implement FlushProcessDataCache * common: add cache management functions * Add break statement in default case * gdbstub: add ams monitor commands * debugger: allow more than one connection attempt per session ------------------------------------------------------------------- Sun Nov 13 00:18:49 UTC 2022 - pousaduarte@gmail.com - Update to version 01232: * "Merge Tagged PR 9042" * Add CPU core count to log files * yuzu/main: Change to 8_GiB instead of magic number * Fix regs regression with OpenGL two-sided stencil, and re-add data invalidation reg * ir/texture_pass: Use host_info instead of querying Settings::values (#9176) * Me likes * service_thread: remove explicit KProcess * yuzu/compatdb: Rework compatibility submission system * Add CPU thread count to log files * video_core: Fix dma copy 1D random crash * kernel/svc_types: refresh * Initial ARM64 support * Add break statement in default cases * Ensure correctness of atomic store ordering * video_core: Fix few issues in Tess stage * service_thread: fix deletion * yuzu: Change QtKeyToSwitchKey switch case to array * video_core:Fix vmm kinds size error * core: hle: kernel: Address review comments. * video_core: Fix scaling graphical regressions for multiple games * UI: split up strings relating to content removal * service_thread: register service threads to the logical owner process * kernel: avoid racy behavior in global suspension * core: hle: kernel: k_page_table: Remove unnecessary casts. * core: hle: kernel: k_page_table: Manually open/close pages for IPC methods. * core: hle: kernel: k_page_table: Implement IPC memory methods. * core: hle: kernel: k_memory_manager: Refresh. * core: hle: kernel: Integrate system KSystemResource. * core: hle: kernel: k_dynamic_page_manager: Refresh. * core: hle: kernel: Add KSystemResource. * core: hle: kernel: k_handle_table: Refresh. * core: hle: kernel: k_memory_layout: Refresh. * core: hle: kernel: k_memory_region_type: Refresh. * core: hle: kernel: slab_helpers: Add KAutoObjectWithSlabHeap. * core: hle: kernel: k_dynamic_resource_manager: Add KBlockInfoManager, KBlockInfoSlabHeap. * core: hle: kernel: k_page_bitmap: Refresh. * core: hle: kernel: k_memory_block: Refresh. * core: hle: kernel: k_page_heap: Refresh. * core: hle: kernel: k_page_group: Add KPageBufferSlabHeap. * core: hle: kernel: k_system_control: Add SecureAppletMemorySize. * core: hle: kernel: k_page_buffer: Add KPageBufferSlabHeap. * core: hle: kernel: Add KPageTableManager. * core: hle: kernel: Add KPageTableSlabHeap. * core: hle: kernel: Add KEventInfo. * core: hle: kernel: Add KDebug. * core: hle: result: Fix code for compilers. * video_core: Fix drawing trigger mechanism regression ------------------------------------------------------------------- Sun Nov 06 00:18:56 UTC 2022 - pousaduarte@gmail.com - Update to version 01225: * "Merge Tagged PR 9042" * "Merge Tagged PR 9187" * Qt: enable recent Linux features on more Unices * network: add missing header for SO_* on Unix after f80c7c4cd5c0 * Update shader cache version. (#9175) * video_core: Fix SNORM texture buffer emulating error (#9001) * UI: Add options to hide extra columns (#9093) * core: hle: service: acc: Fix ListOpenContextStoredUsers/StoreOpenContext. * remove unnecessary sepator in file menu (main.ui) * Manually import Ukrainian language files * sm:: avoid excessive port recreation * kernel: fix single core for service threads * kernel: fix port tracking * k_server_session: add SendReplyHLE * service_thread: convert to map for session management * kernel: invert session request handling flow * kernel: more complete fix for KPort reference counting * k_thread: fix single core * Vulkan: Fix regression caused by limiting render area to width/height of rendef targets. * vk_blit_screen: recreate swapchain images on guest format change * kernel: reinitialize after dram layout change * service: am: Stub SetRecordVolumeMuted * k_server_session: fix crashes * vk_scheduler: Remove recorded_counts * nvnflinger: release queued handles immediately on disconnection * vi: implement CloseDisplay * video_core: Fix drawing trigger mechanism regression * video_core: don't build ASTC decoder shader unless requested * UI: Add option to hide the compatibility list * video_core: Generate mipmap texture by drawing ------------------------------------------------------------------- Sun Oct 30 00:19:29 UTC 2022 - pousaduarte@gmail.com - Update to version 01214: * "Merge Tagged PR 9140" * arm_interface: curb infinite recursion in stacktrace generation * audio_in/out_system: Pass Initialize members by value where applicable * concepts: Use the std::contiguous_iterator concept * tests: fix for -Wall * video_core: Catch vulkan clear op not all channel need clear * Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass" * kernel: refactor dummy thread wakeups * file_sys: Priority display of game titles in the current language * nvdrv: fix container destruction order * core: barrier service thread shutdown * core: hid: Add handheld to nfc devices * CMakeLists: Disable -Wbraced-scalar-init on Clang * yuzu: Resolve -Wpessimizing-move * startup_checks: Resolve -Wstringop-truncation * startup_checks: Resolve -Wformat * general: Resolve -Wunused-but-set-variable * general: Resolve -Wunused-lambda-capture and C5233 * general: Resolve -Wclass-memaccess * ipc_helpers: Ignore GCC compiler warnings only on GCC * CMakeLists: Enforce C5233 on MSVC * CMakeLists: Disable C4100 and C4324 * CMakeLists: Remove redundant warnings * decoders: Use 2's complement instead of unary - * CMakeLists: Treat MSVC warnings as errors * general: Enforce C4800 everywhere except in video_core * CMakeLists: Remove all redundant warnings * CMakeLists: Consolidate all unused warnings into -Wunused * CMakeLists: Treat -Wall and -Wextra as errors * video_core: Implement maxwell inline_index method * service: nfp: Allow amiibos without keys * service: nfp: remove unnecessary include * video_coare: Reimplementing the maxwell drawing trigger mechanism * input_common: cache vibration tests * Address feedback * video_core: Fix legacy to generic location unpaired ------------------------------------------------------------------- Sun Oct 23 00:19:46 UTC 2022 - pousaduarte@gmail.com - Update to version 01207: * k_session_request: Add missing override specifier * format_lookup_table: Implement R32_B24G8 with D32_FLOAT_S8_UINT * k_session_request: Turn C-style array into std::array * k_session_request: Simplify constructor initialization * hid/npad: Fix copy size in GetSupportedNpadIdTypes * Controller Applet had instance of Undocked, make Handheld * kernel: remove most SessionRequestManager handling from KServerSession * kernel: add KSessionRequest * core: hle: kernel: Migrate ProcessState to enum class. * Update audio_core for firmware 15.0.0 * Maxwell3D/Puller: Fix regressions and syncing issues. * core: Initialize: Add missing braces. * core: core_timing: Re-initialize if single/multicore state changes. * core: core_timing: Remove unused IsHostTiming. * core: hle: kernel: Use result macros for new/changed code. * core: Partially persist emulation state across game boots. * core: hle: kernel: Fix InitializePreemption order. * core: hle: kernel: k_process: Improve management of page table & cleanup. * core: hle: kernel: k_interrupt_manager: HandleInterrupt should not depend on current process. * core: hle: kernel: Remove junk. * core: hle: kernel: k_page_table: Impl. LockForUn/MapDeviceAddressSpace, cleanup. * video_core: renderer_vulkan: vk_query_cache: Avoid shutdown crash in QueryPool::Reserve. * core: hle: kernel: Integration application memory block slab manager. * core: hle: kernel: k_page_table: Update, and integrate with new KMemoryBlockManager/SlabManager. * core: hle: kernel: k_memory_block: Update. * core: hle: kernel: k_memory_block_manager: Update. * core: hle: kernel: k_thread: Implement thread termination DPC. * core: hle: kernel: Add KDynamicResourceManager. * core: hle: kernel: Add KDynamicSlabHeap. * core: hle: kernel: Add KDynamicPageManager. * core: hle: kernel: k_process: Change Status -> State. * core: hle: kernel: svc_types: Add SystemThreadPriorityHighest and ProcessState. * core: device_memory: Templatize GetPointer(..). * core: hle: result: Add GetInnerValue and Includes methods. * core: hle: kernel: svc_common: Add WaitInfinite & cleanup. * fixed_point: Mark default constructor as constexpr * fixed_point: Mark copy/move assignment operators and constructors as constexpr * fixed_point: Mark std::swap and move constructor as noexcept * fixed_point: Mark relevant member function [[nodiscard]] * fixed_point: Make to_uint() non-const * fixed_point: Use defaulted comparisons * fixed_point: Use variable templates and concepts where applicable * kernel: fix slab heap ABA * general: compress png images * video_core: implement 1D copies based on VMM 'kind' * video_core: Implement memory manager page kind * fixed_point: Replace CONSTEXPR14 with constexpr * general: Add missing pragma once * Set TX_TOKEN for transifex client * savedata_factory: Detect future save data paths * sdl2_sink: Inline variable init into if condition * sdl2_sink: Distinguish between capture and non-capture device names * sdl2_sink: Check for null string when loading SDL audio devices * video_core: Fix spelling of "synchronize" * general: Fix spelling of "unknown" * fix a tiny spelling mistake * Translations: new transifex client * CMake: Try add library "LZ4::lz4_shared" if "lz4::lz4" is unavailable ------------------------------------------------------------------- Sun Oct 16 00:13:11 UTC 2022 - pousaduarte@gmail.com - Update to version 01200: * audio_core: Revert sink name to sdl2 * renderer_(opengl/vulkan): Fix tessellation clockwise parameter * settings: Update aspect_ratio range * result: enforce reference check specialization * kernel: remove KWritableEvent * k_server_session: preliminary support for userspace server sessions * Add implementation of svcCreateSession * general: preliminary support for hbl * syncpoint_manager: ensure handle is removable before removing * Fix stencil func registers, make clip control equivalent to how it was before, but surely wrong. * yuzu: Add 16:10 aspect ratio * ci/windows: Revert to using GCC for MinGW builds * input_common: have an unique vector in callback status * Choose the SDL audio backend when Cubeb reports too high of a latency * core_timing: use high-precision sleeps on non-Windows targets * kernel: add expanded result macros * fsp_srv: stub GetCacheStorageSize * IFriendService: stub CheckFriendListAvailability * video_core: don't block rendering on screenshots * Update 3D regs * Revert "vulkan: automatically use larger staging buffer sizes when possible" ------------------------------------------------------------------- Sun Oct 09 00:12:26 UTC 2022 - pousaduarte@gmail.com - Update to version 01192: * "Merge Tagged PR 9027" * configure_graphics: Fix graphics API selection when a game is running * nfp_types: silence -Wtype-limits * vulkan_blitter: Fix pool allocation double free. * maxwell_dma: remove warnings from implemented functionality * General: address feedback * state_tracker: workaround channel setup for homebrew * general: rework usages of UNREACHABLE macro * nvdisp: End system frame after requesting to swap buffers * address_space: Rename va_start to virt_start * address_space: Address feedback * general: Format licenses as per SPDX guidelines * NvHostChannels: improve hack for supporting multiple channels. * Address Feedback from bylaws. * Nvflinger: correct duplication. * Core: Fix get nvmap object random crash * General: Fix clang format. * Common: Fix variable shadowing. * Vulkan Swapchain: Overall improvements. * NvDec: Fix regressions. * Vulkan Texture Cache: Limit render area to the max width/height of the targets. * ImageBase: Basic fixes. * General: Fix compilation for GCC * VideoCore: Implement formats needed for N64 emulation. * Buffer Cache: Deduce vertex array limit from memory layout when limit is the highest possible. * VideoCore: Add option to dump the macros. * NVDRV: Further improvements. * Buffer Cache: Basic fixes. * Decoders: Improve overall speed. * DMA & InlineToMemory Engines Rework. * Maxwell3D: Add small_index_2 * Memory Manager: ensure safety of GPU to CPU address. * MemoryManager: Fix errors popping out. * Shader Decompiler: implement better tracking for Vulkan samplers. * Shader Decompiler: Check for shift when deriving composite samplers. * Shader Decompiler: Fix dangerous behavior of invalid iterator insertion. * MemoryManager: Finish up the initial implementation. * OpenGL: Fix TickWork * VideoCore: Refactor fencing system. * MemoryManager: initial multi paging system implementation. * Vulkan: Fix Scissor on Clears * NVDRV: Further refactors and eliminate old code. * NVDRV: Refactor Host1x * VideoCore: Refactor syncing. * Texture Cache: Fix GC and GPU Modified on Joins. * Texture cache: Fix the remaining issues with memory mnagement and unmapping. * Texture cache: Fix dangling references on multichannel. * Refactor VideoCore to use AS sepparate from Channel. * General: Rebase fixes. * VideoCore: Extra Fixes. * NVDRV: Remake ASGPU * NVDRV: Update copyright notices. * MemoryManager: Temporary Fix for NVDEC. * NvHostCtrl: Fix merge of nvflinger. * VideoCore: Update MemoryManager * Common: implement MultiLevelPageTable. * VideoCore: Fix channels with disk pipeline/shader cache. * OpenGl: Implement Channels. * NVHOST_CTRl: Implement missing method and fix some stuffs. * VideoCore: implement channels on gpu caches. * NVASGPU: Fix Remap. * NVDRV: Fix clearing when destroying. * NVMAP: Fix the Free return parameters. * NVDRV: Fix Open/Close and make sure each device is correctly created. * NVDRV: Implement new NvMap * NVDRV: Refactor and add new NvMap. * NVDRV: Cleanup. * NVDRV: Implement QueryEvent. * NvHost: Remake Ctrl Implementation. * NvHost: Try a different approach to blocking. * NvHost: Fix some regressions and correct signaling on timeout. * Texture Cache: Add ASTC 10x5 Format. * Show error from cpp-httplib when we don't have a response to read (report errors while connecting to API) (#8999) * vk_scheduler: wait for command processing to complete * service: nfp: Fix errors to pass unit testing * common: remove "yuzu:" prefix from thread names * shader_recompiler: add extended LDC to GLASM backend * service: mii: Copy only valid name bytes * service: nfp: Implement mount target and open application area errors, minor fixes * nfp: Multiple fixes against HW * service: nfp: address comments * service: nfp: Rewrite and implement applet calls * core: hid: Add nfc support to emulated controller * yuzu: Use virtual amiibo driver instead of nfp service * input_common: Enable virtual amiibo driver * input_common: Create virtual amiibo driver * MacroHLE: Add MultidrawIndirect HLE Macro. * macro_jit_x64: fix miscompilation of bit extraction operations * Qt: work around Qt5's font choice for Chinese * Migrate deploy-linux.sh from lat9nq's repo. * Fix "controller.colors_state.right" being "left" * macro_jit_x64: cancel exit for taken branch * service: vi: Retrieve vsync event once per display * service: vi: Move VI results into its own file * vulkan: automatically use larger staging buffer sizes when possible * build(room): simplify yuzu-room installation * cmake: Fix FindPkgConfig * Address some review comments * dedicated_room: fix token padding ... * fix black icon * yuzu: Multiple room UI improvements * Align index buffe size when vertex_buffer_unified_memory enable * ldn: Initial implementation * program_metadata: Unpack FileAccessHeader and FileAccessControl ------------------------------------------------------------------- Sun Oct 02 00:13:02 UTC 2022 - pousaduarte@gmail.com - Update to version 01186: * "Merge Tagged PR 6598" * "Merge Tagged PR 8876" * Update translations (2022-10-01) * ci/linux: Drop linuxdeploy usage * core/loader: Return nullptr if file is nullptr * service: hid: Partially implement palma controller * yuzu: sort input profiles by name * chore: fix some typos * sockets: Make fd member variable protected * Do not try to pause core timing from the audio thread when using single-core * yuzu: Silence some clang warnings * audio_renderer: Make GetCommandBuffer() take a u32 * audio_manager: Forward declare result type * audio_manager: Remove redundant cast in ThreadFunc() * audio_manager: move std::functions in SetOutManager/SetInManager * audio_manager: Remove unused forward declarations * audio_manager: Remove unused sessions_started member variable * audio_manager: Remove dependence on system state * ci/linux: Use AppRun.sh to start AppImage * yuzu qt: Add option to disable startup Vulkan check * cmake: fix git detection * video_core: Modify astc texture decode error fill value ------------------------------------------------------------------- Sun Sep 25 00:14:25 UTC 2022 - pousaduarte@gmail.com - Update to version 01177: * "Merge Tagged PR 6598" * "Merge Tagged PR 8876" * "Merge Tagged PR 8933" * core: implement HwOpus GetWorkBufferSizeForMultiStreamEx * astc: Enable parallel CPU astc decoding ------------------------------------------------------------------- Sun Sep 18 00:13:26 UTC 2022 - pousaduarte@gmail.com - Update to version 01170: * "Merge Tagged PR 6598" * "Merge Tagged PR 8871" * "Merge Tagged PR 8876" * GIT: Modify .gitignore to ignore wildcard for build directories * audio_renderer: Pass command buffer by const reference * sink_stream: Mark GetQueueSize as const * node_states: Mark relevant member functions as const * i3dl2/reverb: Mark relevant member functions as const * behavior_info: Mark CopyErrorInfo as const * audio_device: Mark GetDeviceVolume as const * audio_render_manager: Mark several functions as const * audio_in: Mark several functions as const * audio_out: Mark several functions as const * audio_buffers: Pass by const-ref in AppendBuffers * device_session: Convert for loop into ranged for in AppendBuffers * device_session: Pass arguments by const-ref in relevant functions * UI: move icons from default into colorful theme. * audio_core: Amend documentation tags * audio_device: Mark member functions as const where applicable * audio_device: Make AudioDeviceName constructor constexpr * UI: Fix link to TAS help page * common: do not link to xbyak on non-amd64 architectures * compressor: Simplify memset in InitializeCompressorEffect * compressor: Mark params parameters as const * compressor: Remove unneeded casts in ApplyCompressorEffect * Remove pause callbacks from coretiming * qt_themes: Add colorful and dark mode sd card icons * qt_themes: Update sd card icon * Remove a pragma once from a cpp file * input_common: Increase mapping timer from 2.5 seconds to 4 seconds * core/CMakeLists.txt: Remove duplicate files. * core: nfp: Remove magic numbers * core: nfp: Workaround for lack of multiple nfp interfaces * core: nfp: Correct date and amiibo name * core: nfp: Implement Convert and RecreateApplicationArea, accuracy fixes * core: nfp: Implement amiibo encryption * ci/windows: Upload debugging symbols * mini_dump: Address review feedback * ci,workflows: Enable crash dumps on MSVC builds * vcpkg,cmake: Use vcpkg for dbghelp * mini_dump: Check for debugger before spawning a child * mini_dump: Cleanup and add comments * yuzu: Use a debugger to generate minidumps * Don't stall with nvdec * Rework audio output, connecting AudioOut into coretiming to fix desync during heavy loads. * core_timing: Sleep in discrete intervals, yield during spin * Add missing looping event schedule signal * Make coretiming waiting more accurate * Rework multi-core vsync * common: Use PROJECT_SOURCE_DIR to find CMakeModules * patreon step2: Use jobs to build for Windows and Linux * ci/linux: EA AppImage adjustments * patreon step2: Enable Linux build * ci,linux: Support Patreon releases ------------------------------------------------------------------- Sun Sep 11 00:11:31 UTC 2022 - pousaduarte@gmail.com - Update to version 01162: * "Merge Tagged PR 6598" * "Merge Tagged PR 6667" * CMake: explicitly link mbedcrypto for yuzu-room * yuzu: input: fix invert symbol on axis and order options alphabetically * input_common: Add support for analog toggle * core: hid: Fix GC triggers overwritting ZL and ZR buttons * Fix Cmake warning for CMP0077 * input_common: sdl: Always check for motion on reconnect * core: ns: Implement pl:s service * Qt: Make General->Debug scrollable * style: General style changes to match with the rest of the codebase * (shader/pipeline)_cache: Raise shader/pipeline cache version * ci: Enable building with Visual Studio 2022 (again) * video_core: add option for pessimistic flushing ------------------------------------------------------------------- Sun Sep 04 11:41:11 UTC 2022 - pousaduarte@gmail.com - Update to version 01155: * "Merge Tagged PR 6598" * "Merge Tagged PR 6667" * "Merge Tagged PR 8837" * Address review comments * Demote services from warning/info to debug to reduce log spam: GetCurrentFocusState SetClockSpeed EnableSixAxisSensorUnalteredPassthrough IsSixAxisSensorUnalteredPassthroughEnabled Get, GetOld SetAndWait, SetAndWaitOld IocParam IocFree * Silence std::aligned_storage warnings as it's deprecated in C++23, replace it with alignas() and a C array * Update translations (2022-09-01) * core/ldn_types: Minor corrections and additions * yuzu/chat_room: Make font size bigger * dedicated_room: Correctly handle token decoding * yuzu/multiplayer: Warn when game is running or no network interface is selected * core/socket_proxy: Correct broadcast behavior * yuzu: Display current game version in multiplayer room * network: Use lower timeout for enet_host_service * core/bsd: Correctly unbind methods in destructor * core/acc: Make CheckAvailability use LOG_DEBUG * yuzu_room: Remove dependency on core * video_code: support rectangle texture * video_core: vulkan: rasterizer: Workaround on viewport swizzle on AMD ------------------------------------------------------------------- Sun Aug 28 00:23:23 UTC 2022 - pousaduarte@gmail.com - Update to version 01147: * "Merge Tagged PR 6598" * "Merge Tagged PR 6667" * Implement AudRenU:RequestUpdateAuto, and use C descriptors when B reports as empty. * yuzu: Force camera output to be saved on a buffer (#8805) * core:filesystem: speed up IDirectory service * hid: core: Add missing function table names * core/file_sys: fix alignment of BuildId * Qt: Retranslate GameList header and Filter line * video_core: support framebuffer crop rect top not zero * core: implement clkrst service * code: dodge PAGE_SIZE #define * core/file_sys: fix BuildId padding * yuzu: Allow longer controller profile names * build(externals): rename Findopus to FindOpus * cmake: add option to check submodules * build: simplify find modules * core: hid: Add fallback for dualjoycon and pro controllers * cmake: Move source directory compatibility list... * cmake: Use compatibility list in source directory ------------------------------------------------------------------- Sun Aug 21 00:23:13 UTC 2022 - pousaduarte@gmail.com - Update to version 01139: * "Merge Tagged PR 6598" * "Merge Tagged PR 6667" * "Merge Tagged PR 8485" * video_core: implement R16G16B16X16 texture format * common: remove unneeded x86-specific header * core/socket_proxy: Final nits * core: network: Address review comments * yuzu: Fix crash on shutdown * internal_network: Fix mingw compilation * core, yuzu: Address first part of review comments * core/socket_proxy: Fix compilation * Make copyright headers SPDX-compliant * core, network: Add ability to proxy socket packets * web_service: Correct jwt issuer string * dedicated_room: Initial implementation * Moving Icons away from CC BY-ND 3.0 for FOSS packaging purposes * video_core/textures/decoders: Avoid SWIZZLE_TABLE ------------------------------------------------------------------- Sun Aug 14 00:22:59 UTC 2022 - pousaduarte@gmail.com - Update to version 01131: * "Merge Tagged PR 6598" * "Merge Tagged PR 6667" * "Merge Tagged PR 8485" * Do some log memes to help perceived volume * Allow audio volume up to 200% * ips_layer: Delimit parsed hex value string * review pass on CheckDarkMode function * core: ldn: Address review comments part 2 * arm_dynarmic: Fix nullptr fastmem arenas * Qt: tweak ui files * post-upload: Upload Linux source to artifacts dir * ci: Graft source when archiving * hid: core: Properly emulate controller color and battery level * core: ldn: Address review comments * Make vsync setting work for Vulkan * core/arm: fix build error * ldn: Add better stubs and more data types * arm_dynarmic_cp15: Implement CP15DMB/CP15DSB/CP15ISB * yuzu: Fix fmt 9.0.0 issues * vcpkg: Update and update fmt to 9.0.0 * hid: core: Delay the stop vibration command when testing * assign colors to default_dark theme * Linux: handle dark system themes nicely * Qt5 work around for suzhou numerals * vk_texture_cache: return VK_NULL_HANDLE for views of null images * Translate english plurals * externals: Update dynarmic to 6.2.3 * Add missed shader defines. Fixes Xenoblade Chronicles 3 booting with Vulkan. * video_core: differentiate between tiled and untiled framebuffer sizes for unaccelerated copies * kernel: unlayer CPU interrupt handling * core/arm: increase minimum_run_cycles * core/arm: re-enable cycle counting ------------------------------------------------------------------- Sat Aug 07 16:48:13 UTC 2022 - Enrico Belleri <idesmi@protonmail.com> - Disable CUBEB integration, as it's not available in openSUSE. - Cleanup obsolete macros ------------------------------------------------------------------- Sun Aug 07 00:24:22 UTC 2022 - pousaduarte@gmail.com - Update to version 01124: * "Merge Tagged PR 6598" * "Merge Tagged PR 6667" * "Merge Tagged PR 8240" * "Merge Tagged PR 8485" * "Merge Tagged PR 8658" * Controller bugfixes in profile select (#8716) * renderer_vulkan: add format fallbacks for R16G16B16_SFLOAT, R16G16B16_SSCALED, R8G8B8_SSCALED * core/loader: remove ELF loader * Update translations (2022-08-01) * tidy up github actions ------------------------------------------------------------------- Mon Aug 01 16:34:03 UTC 2022 - Enrico Belleri <idesmi@protonmail.com> - Update to version 01119: * "Merge Tagged PR 6598" * "Merge Tagged PR 6667" * "Merge Tagged PR 8240" * "Merge Tagged PR 8485" * "Merge Tagged PR 8658" * Properly write out the command buffer when serving close request * renderer_opengl: delete shader source after linking * video_core: stop waiting for shader compilation on user cancel * qt: reset progress bar after shader compilation ------------------------------------------------------------------- Sun Jul 31 00:22:03 UTC 2022 - pousaduarte@gmail.com - Update to version 01116: * "Merge Tagged PR 6598" * "Merge Tagged PR 8240" * "Merge Tagged PR 8485" * "Merge Tagged PR 8658" * audio_core: fix -Wuninitialized when compiling with ASan * common: move forwarded value into SPSCQueue * ci: use dep5 for GitHub issue template files * Update bug-report-feature-request.md * Update config.yml * cmake,ci: vcpkg for MSVC default, fix lz4 include, catch2, cleanup * externals: Use yuzu-emu/discord-rpc to provide Discord integration * Revert Coretiming PRs 8531 and 7454 (#8591) * implement pause on system suspend (#8585) * Avoid depop out of bounds * Merge pull request #8592 from devsnek/sig-handlers * yuzu: Add incremental steps to volume hotkeys * ci: add reuse job * chore: make yuzu REUSE compliant * build: Ship vcpkg dlls with MSVC pr-verify builds * externals: Use GitHub for FFmpeg * ci/linux: Delete libwayland-client from AppDir * network: Address review comments * network, yuzu: Make copyright headers SPDX-compliant * network, yuzu: Improve variable naming and style consistency * yuzu_cmd: Fix compilation * network: Move global state into a seperate class * common: multiplayer: Use GameInfo type * Address second part of review comments * Address first part of review comments * Fix compilation on linux gcc * web_service: Fix -Wmissing-field-initializers * core: Fix -Wunused-variable * common, core: fix -Wmissing-field-initializers * yuzu: Hide multiplayer button and room status * yuzu: Add ui files for multiplayer rooms * network: Add initial files and enet dependency * Address comments * fix compiler errors * service: irs: Implement clustering processor * qt_software_keyboard: Fix infinite loop when moving between buttons * applet/swkbd: Implement optional symbol keys * yuzu: Add webcam support and rebase to latest master * service: irs: Move to IRS namespace and minor fixes * service: irs: Split processors and implement ImageTransferProcessor * core: hid: Add cammera support * yuzu: Hook qt camera to camera driver * input_common: Add camera driver * ci,transifex: enable vcpkg on transifex step * package MSVC CI Builds differently, and include yuzu.exe * ci/windows: Cleanup unused data before packaging * ci: pass environment variables to linux docker (AppImage) * Revert "ci: Enable building with Visual Studio 2022" * Project Andio * CopyYuzuQt5Deps: Remove unused dlls * CMakeLists: Mark WebEngine(Core/Widgets) as required * CMakeLists: Add QtConcurrent to required components * kernel: Ensure all uses of disable_count are balanced * kernel: be more careful about initialization path for HLE threads * kernel: fix single-core preemption points * kernel: fix issues with single core mode * kernel: use KScheduler from mesosphere * startup_checks: Use WaitForSingleObject and more cleanup * startup_checks: Use GetEnvironmentVariableA * startup_checks: Clean up * startup_checks: Implement unix side code * yuzu: Simplify broken Vulkan handling * yuzu: Check Vulkan on startup with a child * yuzu: Rename check_vulkan to startup_checks * gpu_thread: Use the previous MPSCQueue implementation ------------------------------------------------------------------- Sun Jul 24 00:30:31 UTC 2022 - pousaduarte@gmail.com - Update to version 01105: * "Merge Tagged PR 6598" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * "Merge Tagged PR 8542" * "Merge Tagged PR 8545" * "Merge Tagged PR 8549" * gitmodules: Remove 'externals' from names of submodules * ci,CMake: Integrate vcpkg into CMakeLists * ci,CMake: Drop Conan support for vcpkg * video_core: use correct byte size for framebuffer * Update configure_input.ui * externals: Revert SDL2 to release-2.0.20 * implement resume message * externals: Update dynarmic to 6.2.1 * hle: service: nvflinger: Fix implicit conversion. * yuzu: settings: Remove framerate cap and merge unlocked framerate setting. * hle: service: nvflinger: Factor speed limit into frame time calculation. * Enable the use of MSG_DONTWAIT flag on RecvImpl * core/arm: skip watchpoint checks when reading instructions * common/setting: Make ranged a property of the type * dynarmic: Abort watchpoints ASAP * service: fatal: Add function table * service: btdrv,bcat,btm: Update service tables to 14.0.0 * service am: Update service tables to 14.0.0 * service: ac: Replace intances of ProfileData with UserData * guard against div-by-zero * common/x64: Use TSC clock rate from CPUID when available The current method used to estimate the TSC is fairly accurate - within a few kHz - but the exact value can be extracted from CPUID if available. * externals/SDL: Update to prerelease-2.23.1 * service: nifm: Stub GetInternetConnectionStatus * service: ptm: Rewrite PSM and add TS ------------------------------------------------------------------- Sun Jul 17 11:04:38 UTC 2022 - pousaduarte@gmail.com - Update to version 01092: * "Merge Tagged PR 6598" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * "Merge Tagged PR 8542" * "Merge Tagged PR 8545" * "Merge Tagged PR 8569" * KCodeMemory: Mark virtual methods as override * common_funcs: Mark padding as [[maybe_unused]] * nvflinger: Polymorphic destructor requried for abstract class IBinder * externals: Update dynarmic to 6.1.1 * common: fix bitfield aliasing on GCC/Clang * kernel: fix usage of waiter_list in Finalize * ci/windows: Copy what of FFmpeg not already present * ci: Update various actions from v2 to v3 * qt_web_browser: Fix button inputs with QtWebEngine * input_common: sdl: lower vibration frequency and use it's own unique thread ------------------------------------------------------------------- Mon Jul 11 08:58:10 UTC 2022 - pousaduarte@gmail.com - Update to version 01083: * "Merge Tagged PR 6598" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * "Merge Tagged PR 8542" * PR * Rework CoreTiming * renderer_(gl/vk): Implement ASTC_10x6_UNORM * CI: unbreak ADO after GHA changes * CI: lint scripts * CI: workaround appimage generation if FUSE is not available * CI: upload artifacts for pull request verification * CI: fix caching * CI: use Ninja to build stuff faster * CI: Use GitHub Actions to check pull requests * Core timing: use only one thread. * common/fiber: make fibers easier to use * Update translations (2022-07-01) * cpu_manager: properly check idle on return from preemption * gdbstub_arch: Directly access SP register * settings: Consolidate RangedSetting's with regular ones * Adress Feedback. * Revert "vulkan_device: Block AMDVLK's VK_KHR_push_descriptor" * service: hid: Correct some mistakes and add more validations * Native clock: Use atomic ops as before. * Native Clock: remove inaccuracy mask. * Address feedback. * Core: Protect each event from race conditions within it. * Core: Fix tests. * Core: add missing include. * Core/Common: Corrections to core timing and add critical priority. * Core: Reimplement Core Timing. * Common: improve native clock. * video_core: Replace VKUpdateDescriptorQueue with UpdateDescriptorQueue * video_core: Replace VKSwapchain with Swapchain * video_core: Replace VKQueryCache with QueryCache * video_core: Replace VKScheduler with Scheduler * video_core: Replace VKBlitScreen with BlitScreen * video_core: Replace VKFenceManager with FenceManager * core: kernel: Replace instances of KPageLinkedList with KPageGroup * core: Replace all instances of ResultCode with Result * Re-add missing `case` and braces, and trim whitespace * Update src/core/hle/kernel/svc.cpp * Support InfoType_MesosphereCurrentProcess * kernel: clean up waiting implementation * core/arm: better support for backtrace generation * gdbstub: fix register pokes * kernel: make current thread pointer thread local * tweak API usage in qt_web_browser.cpp * dynarmic: Stop ReadCode callbacks to unmapped addresses ------------------------------------------------------------------- Sun Jun 26 08:49:51 UTC 2022 - pousaduarte@gmail.com - Update to version 01065: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * KPageTable: Remove extraneous assert * service: am: Stub PerformSystemButtonPressingIfInFocus * kernel: wait for threads to stop on pause * ci/windows: Build using Clang * CMakeModules: Add MinGWClangCross * ci/windows: Split up cmake command * core/debugger: memory breakpoint support * kernel: fix some uses of disable_count ------------------------------------------------------------------- Sun Jun 19 00:30:32 UTC 2022 - pousaduarte@gmail.com - Update to version 01058: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * core: fix initialization in single core, sync GPU mode * Make yuzu-cmd respect log_filter setting * Implement ExitProcess svc * common: param_package: Demote DEBUG to TRACE for getters * bounded_threadsafe_queue: Use constexpr capacity and mask * vk_compute_pass: Explicitly cast to VkAccessFlags * kernel: notify debugger on break SVC * core: centralize profile scope for Dynarmic * externals: Update cpp-httplib to latest * main: Eliminate variable shadowing * kernel: implement KProcess suspension * vk_compute_pass: Use VK_ACCESS_NONE * wait_tree: Eliminate variable shadowing * configure_ringcon: Eliminate variable shadowing * configure_touch_from_button: Eliminate variable shadowing * configure_per_game: Eliminate variable shadowing * configure_input_player: Eliminate variable shadowing * configure_dialog: Eliminate variable shadowing * bootmanager: Eliminate variable shadowing * game_list: Eliminate variable shadowing * externals: microprofileui: Eliminate variable shadowing * vk_compute_pass: Silence Wextra warning * kernel: fix passthrough of local captures in lambda * common/assert: rework ASSERT handling to avoid std::function usage * general: fix compilation on MinGW GCC 12 * common/assert: add unlikely * general: fix compilation on GCC 12 * kernel: ensure class token lambda exit is unreachable * kernel: fix inconsistency in AutoObjectTraits macro definitions * common: Don't test ASSERT conditions inline * common: Change semantics of UNREACHABLE to unconditionally crash * structured_control_flow: Remove constexpr Flow::Block * yuzu_cmd: Eliminate variable shadowing * audio_core: Remove -Werror=unused-parameter * CMakeLists: Make variable shadowing a compile-time error * externals: microprofile: Eliminate variable shadowing * common: Eliminate variable shadowing * yuzu: Eliminate variable shadowing * web_service: Eliminate variable shadowing * core/debugger: allow remote connections * yuzu-cmd: ignore bogus timeous from SDL * core/debugger: fix a number of shutdown deadlocks * core/debugger: support operation in yuzu-cmd * kernel: fix KCodeMemory initialization * CpuManager: simplify pausing * input_common: Replace usage of string guid to common uuid * service: notifa: Implement most part of this service ------------------------------------------------------------------- Sun Jun 12 14:45:13 UTC 2022 - pousaduarte@gmail.com - Update to version 01050: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * gdbstub_arch: Add missing virtual destructor * log the MSVC runtime version when running on MSVC build * UI: retranslate the game list placeholder * service: hid: Fix gesture regression * core/debugger: fix asio write usage * core/debugger: fix crash due to incorrect lambda capture * deprecate usage of QDesktopWidget for going fullscreen * hle: service: nvflinger: buffer_queue_consumer: Always free released buffers. * configure_graphics: Remove unused include * gpu_thread: Move to bounded queue * ui: Status bars dock button becomes dock/undock button * main: Insert warning text on broken Vulkan * main: Save config on broken Vulkan detect * yuzu-qt: Make has_broken_vulkan only for crashes * vulkan_library: Add debug logging * yuzu-qt: Attempt to workaround broken Vulkan installations * default_ini: Reflect new renderer backend default setting * settings: Set Vulkan to the default renderer backend * motion touch ui: move remaining connection out of .ui file * Update some files with Qt 5.15.2 best practices in mind * UI: Translate hotkey labels in configuration ------------------------------------------------------------------- Tue Jun 07 12:47:15 UTC 2022 - pousaduarte@gmail.com - Update to version 01044: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * "Merge Tagged PR 8428" * common: consolidate ELF structure definitions * gdbstub: add missing library list command * Logging: Report Post Windows 10 2004 versions, like Windows 11 ------------------------------------------------------------------- Sun Jun 05 01:37:07 UTC 2022 - pousaduarte@gmail.com - Update to version 01042: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * "Merge Tagged PR 8354" * Maxwell3D: Fix 3D semaphore counter type 0 handling * core/debugger: Support reading guest thread names * gdbstub: fix target descriptions * core/debugger: Define defaulted virtual destructors * core/debugger: Improved stepping mechanism and misc fixes * gdbstub: Explicitly cast return type to u8 * fix UI opening fullscreen after certain crashes * core/debugger: Implement new GDB stub debugger * Update translations (2022-06-01) * service: hid: Improve stub of IRS * CMakeLists: Update boost to 1.79.0 * service: hid: Implement ResetIsSixAxisSensorDeviceNewlyAssigned * service: hid: Implement LoadSixAxisSensorCalibrationParameter and GetSixAxisSensorIcInformation * service: hid: Implement EnableSixAxisSensorUnalteredPassthrough and IsSixAxisSensorUnalteredPassthroughEnabled * service: hid: Add error handling to sixaxis functions * service: hid: Refractor sixaxis functions * service: hid: Implement MergeSingleJoyAsDualJoy according to RE * service: hid: Add error handling to setNpadAssignment and variants * service: hid: Quick RE fixes and comments * Add control to Metainfo * about dialog: Fix the logo in a multiplatform way * time_zone_manager: Use s8 for month length tables * video_core/surface: Use u8 for PixelFormat block tables * codecs/vp9: Use u8 for norm and map luts * command_generator: Use u8 for tap index lut ------------------------------------------------------------------- Mon May 30 12:51:56 UTC 2022 - pousaduarte@gmail.com - Update to version 01034: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * "Merge Tagged PR 8354" * yuzu-qt: Call -Wl,--subsystem,windows directly * path_util: Resolve `-Wpointer-bool-conversion` warning * input_common: Make vibration request async * input_common: touch: Rewrite touch driver to support multiple touch points ------------------------------------------------------------------- Thu May 26 15:10:39 UTC 2022 - pousaduarte@gmail.com - Update to version 01030: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8349" * "Merge Tagged PR 8354" * vulkan_device: Workaround extension bug * vulkan_device: Block AMDVLK's VK_KHR_push_descriptor * vk_rasterizer: fix stencil test when two faces are disabled ------------------------------------------------------------------- Sun May 22 08:23:18 UTC 2022 - pousaduarte@gmail.com - Update to version 01024: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8309" * "Merge Tagged PR 8349" * "Merge Tagged PR 8354" * video_core: Support new VkResult * qt_software_keyboard: Address review feedback * main: Use Common::U16StringFromBuffer * qt_software_keyboard: Use Common::U16StringFromBuffer * string_util: Add U16StringFromBuffer * general: Avoid ambiguous format_to compilation errors * sirit: Allow using system spirv-headers * maxwell_dma: use fallback if remapping is enabled * video_core/macro: clear code on upload address assignment * Update translations (2022-05-09) * VideoCore: Add option to dump the macros. * video_core/macro_jit_x64: warn on invalid parameter access * OpenGL: implement face flips according to NDC * maxwell_dma: fix bytes per pixel * service: hid: Fix motion refresh rate * service: hid: Disable correctly motion input ------------------------------------------------------------------- Sun May 08 00:15:02 UTC 2022 - pousaduarte@gmail.com - Update to version 01009: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8309" ------------------------------------------------------------------- Thu May 05 08:43:11 UTC 2022 - pousaduarte@gmail.com - Update to version 01006: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * "Merge Tagged PR 8306" * hle/result: Update std::expected replacement message * hle/result: Add ResultRange overload in ResultVal * hle/result: Implement ResultRange * ui: retranslate the network tab * ui: let system locale control format of Custom RTC * dist: add AppStream metadata * yuzu: Config allow to delete single axis directions when buttons are mapped to a stick * yuzu: config: Set default range to 95% ------------------------------------------------------------------- Sun May 01 00:15:30 UTC 2022 - pousaduarte@gmail.com - Update to version 01001: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * GCC 12 fixes * chore: add missing SPDX tags * service: hid: Stub IsFirmwareUpdateNeededForNotification ------------------------------------------------------------------- Thu Apr 28 17:15:31 UTC 2022 - pousaduarte@gmail.com - Update to version 0999: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 8240" * Changes to language order in General -> UI -> Interface Language * renderer_vulkan: Update screen info if the framebuffer size has changed * CMakeLists: Download conan.cmake 0.18.1 * CMakeLists: Update Conan requirement to 1.45.0 * ci: Update build generator to VS 2022 * ci: Update vmImage to windows-2022 * service: jit: document and clean up * kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF * externals: Update libressl to 3.5.2 * Remove unused PrepareReschedule function * service: hid: Ensure all structs are initialized * service: hid: Access shared memory directly * hotkeys: Trigger actions on a separate thread * general: Convert source file copyright comments over to SPDX * CMakeLists: Revert ad55faaa3 * core/arm: separate backtrace collection * input_common: Ignore boost uninitialized local variable * Prevent the mouse cursor from leaving the window when mouse panning is enabled * Update dynarmic * ui: translate hat directions * service: hid: Improve accuracy of sixaxis functions * bootmanager: Don't create another screenshot request if previous one is not done yet * input_common: Map sticks correctly when mapped sideways * loader: log the type of mismatching file-extension ------------------------------------------------------------------- Tue Apr 19 17:22:52 UTC 2022 - pousaduarte@gmail.com - Update to version 0990: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7832" * yuzu: mention GPLv3.0+ in about dialog * Clarify the Skyline Emulator license exception * ui: Fix Game Compatibility list translations * yuzu: Call ignore event after ensuring it's initialized * yuzu: Add custom ringcon configuration * hidbus: Implement hidbus and ringcon ------------------------------------------------------------------- Sun Apr 17 00:16:32 UTC 2022 - pousaduarte@gmail.com - Update to version 0987: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7832" * video_core: implement formats for N64 emulation * buffer_cache: cap vertex buffer sizes * maxwell3d: add small_index_2 register * dynarmic: Fix single core mode * service: jit: Implement the JIT service * ui: Touching QPalette::Text broke dark -> light UI. don't do * core: hle: kernel: k_thread: Rework dummy thread waiting. * core: hle: service: Allocate a service thread. * hle: kernel: k_spin_lock: Remove unused ThreadPause. * hle: kernel: Use std::mutex instead of spin locks for most kernel locking. * service: sfdnsres: add missing includes for some BSDs after 82d46a974ad4 * ui: Set Link Color when setting theme Long story short, QT doesn't allow the link colors to be set via their stylesheets. * dynarmic: Fix race when switching page tables * hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory (fixes #8174) * core: extract symbol reading * hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession. * hle: kernel: k_server_port: Release ref-counted host emulation members on Destroy. * hle: kernel: k_auto_object: Move unregister with kernel to after Destroy. * hle: service: sm: Remove manual tracking of KServerPorts. * hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking. * service: sfdnsres: Implement DNS address resolution * service: bsd: Add keepalive socket option * patch_manager: Apply layered exefs patches from 'atmosphere' SD directory * k_system_control: Fix data race * k_auto_object: Fix data race * k_thread: Fix data race * k_process: Fix data race * kernel: Fix current_process race * k_scheduler_lock: Fix data race * emu_window_sdl2: Set window size to display dimensions for exclusive fullscreen ------------------------------------------------------------------- Sun Apr 10 00:16:37 UTC 2022 - pousaduarte@gmail.com - Update to version 0979: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7832" * CMakeLists: Enforce C4505 and C5245 * core: hid: Fix double lock on softlock and forced updates * core: hid: Replace lock_guard with scoped_lock * core/hle: Standardize scoped_lock initializers * yuzu/util: Replace lock_guard with scoped_lock * web_service: Replace lock_guard with scoped_lock * video_core: Replace lock_guard with scoped_lock * input_common: Replace lock_guard with scoped_lock * core: Replace lock_guard with scoped_lock * core/hle: Replace lock_guard with scoped_lock * common: Replace lock_guard with scoped_lock * core: hid: Reduce the amount of dataraces * fix: remove #pragma once in .cpp file * service: jit: stub JIT service * OpenGL: fix S8D24 to ABGR8 conversions * service: hid: Partially revert #8123 * dynarmic: Print stack trace on unrecognised instruction or other exception * build: remove -fconcepts * Revert "texture_cache/util: Remove unneeded ReadBlockUnsafe" * shader_recompiler: Decrease indirect cbuf limit to match hardware * texture_cache/util: Remove unneeded ReadBlockUnsafe * OpenGL: fix cropping * Vulkan: crop to screen dimensions if crop not explicitly requested * OpenGL: propagate face flip condition * OpenGL: flip front faces if Z scale is inverted * native_clock: Internal linkage for FencedRDTSC * native_clock: Use lfence with rdtsc * arm_dynarmic: Use HaltReason for svc calls and reschedules * dynarmic: Better interrupts * service: npad: Default initialize shared memory * native_clock: Use writeback from CAS to avoid double-loading * atomic_ops: Implement AtomicCompareAndSwap with writeback * native_clock: Use AtomicLoad128 * atomic_ops: Implement AtomicLoad128 * externals: Update dynarmic to 8bcd46b7 * externals: Update dynarmic to 9cadab8fa91a63564774ae7dbe74e7c18715f586 * configure_per_game_addons: Set tree view minimum section size to 150px * configure_hotkeys: Make first column stretch and not last column * fix: typos * configure_per_game_addons: Stretch first column and not last * hle: service: nvflinger: buffer_queue_producer: Cleanup & fixes. * hle: service: nvflinger: consumer_base: Cleanup & fixes. * hle: service: nvflinger: buffer_queue_producer: Cleanup & add GetReleasedBuffers. * hle: service: nvflinger: buffer_queue_core: Cleanup & fixes. * hle: service: nvflinger: Use correct logger namespace. * hle: service: nvdrv: Create a service thread where appropriate. * hle: service: vi: Create a service thread where appropriate. * hle: service: bsd: Create a service thread where appropriate. * hle: service: filesystem: Create a service thread where appropriate. * hle: service: audio: Create a service thread where appropriate. * hle: service: Add option for service interfaces to create or use the default thread. * hle: kernel: Create a default thread for services that do not need their own host thread. * applets/web: Keep foreground (websession) web applet open * shader_compiler: support const buffer indirect addressing in GLSL * audio_core: remove time stretcher * shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V * service: hid: Remove inaccurate behavior on initialization * registered_cache: Prevent nullptr dereference when accumulating files * configure_cpu: More descriptive text for Paranoid option * configuration: Add Paranoid CPU accuracy level ------------------------------------------------------------------- Sun Apr 03 00:18:26 UTC 2022 - pousaduarte@gmail.com - Update to version 0972: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7832" * Update translations (2022-04-01) * GPU Garbage Collection: Fix regressions. * service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle * nvhost_ctrl: Only mark EventState::Busy as BadParameter * yuzu_cmd: Start the logging backend * yuzu: Only override fullscreen setting if gamepath or argument is provided * gl_rasterizer: Avoid scenario locking already owned mutex * arm_dynarmic_64: Invalidate on all cores * externals: Update dynarmic * build: cleanup installation of yuzu and yuzu-cmd * hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory. * hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory. * hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space. * hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer. * hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space. * hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup. * hle: kernel: k_page_table: Add IsHeapPhysicalAddress method. * hle: kernel: k_page_linked_list: Add Empty method. * hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check. * hle: service: nvflinger: buffer_queue: Remove AutoLock and fix free buffer tracking. * hle: service: nvflinger: buffer_queue_consumer: Use scoped_lock instead of unique_lock. * hle: service: nvflinger: consumer_base: Use scoped_lock instead of unique_lock. * hle: service: nvflinger: Remove unused BufferQueue. * configure_debug: Fix typo * Vulkan: Use 3D helpers for MSAA scaling on NV drivers 510+ * Include <bit> header when std::count{r,l}_zero is used * codec: Plug GPU decoder memory leak * codec: Disable HW_FRAMES method check on Windows ------------------------------------------------------------------- Sun Mar 27 00:15:51 UTC 2022 - pousaduarte@gmail.com - Update to version 0965: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7832" * "Merge Tagged PR 8012" * "Merge Tagged PR 8088" * Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory." * Memory: Don't protect reads on Normal accuracy. * Texture Cache: Add Cached CPU system. * GC: Address Feedback. * Update project license to GPL v3. * hle: nvflinger: ConsumerBase: Mark ctor as explicit. * hle: vi: NativeWindow: Fix trivially copyable issues. * hle: nvdrv: nvdata: buffer_queue_producer: Minor cleanup. * hle: nvdrv: nvdata: Cleanup NvFence static assert. * hle: nvflinger: Remove unused unordered_map include. * hle: nvflinger: buffer_queue_consumer: AcquireBuffer: Fix typo. * hle: nvflinger: Merge Rect with Common::Rectangle. * hle: nvflinger: buffer_queue_core: Declare default dtor. * hle: nvflinger: buffer_queue_producer: DequeueBuffer: Remove unnecessary lock. * hle: nvflinger: consumer_base: StillTracking: Should be const. * hle: nvflinger: graphic_buffer_producer: Remove unnecessary pragma pack. * hle: nvflinger: parcel: Reserve token size. * hle: nvflinger: buffer_queue_core: StillTracking: Take const reference. * hle: nvflinger: buffer_queue_core: Cleanup locking. * hle: nvflinger: Use std::chrono for present_ns. * hle: nvflinger: Migrate android namespace -> Service::android. * hle: nvflinger: BufferQueueProducer: Handle SetPreallocatedBuffer with empty buffer. * hle: vi: Integrate new NVFlinger and HosBinderDriverServer service. * hle: nvflinger: Add implementation for HosBinderDriverServer service. * hle: nvflinger: Add implementation for BufferQueueProducer class. * hle: nvflinger: Add implementation for BufferQueueCore class. * hle: nvflinger: Add implementation for BufferQueueConsumer class. * hle: nvflinger: Add implementation for QueueBufferInput and QueueBufferOutput structs. * hle: nvflinger: Add implementation for BufferItemConsumer class. * hle: nvflinger: Add implementation for ConsumerBase class. * hle: nvflinger: Add implementation for BufferSlot class. * hle: nvflinger: Add implementation for BufferItem class. * hle: nvflinger: Move implementation for Parcel to its own header. * hle: nvflinger: Add android buffer queue definitions to its own header. * hle: nvflinger: Add IBinder interface. * hle: nvflinger: Add IConsumerListener interface. * hle: nvflinger: Add ProducerListener interface. * hle: nvflinger: Add android window enumerations to its own header. * hle: nvflinger: Add android Status flags to its own header. * hle: nvflinger: Move BufferTransformFlags to its own header. * hle: nvdrv: Rename Fence to NvFence to avoid naming conflicts. * hle: nvflinger: Move PixelFormat to its own header. * hle: nvflinger: Add implementation for GraphicBuffer class. * hle: nvflinger: Add implementation for Fence class. * hle: nvflinger: Add implementation for Rect class. * common: logging: Add a logger for NVFlinger. * Garbage Collection: Final tuning. * Buffer Cache: Tune to the levels of the new GC. * Garbage Collection: Redesign the algorithm to do a better use of memory. * buffer_cache: reset cached write bits after flushing invalidations * dead_code_elimination_pass: Remove unreachable Phi arguments * Add include to fix compiling * shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass * applets/swkbd: Split software keyboard initialization * applets/swkbd: Add new inline software keyboard types * yuzu qt: Save disable_web_applet setting * main: Update Disable Web Applet warning * configure_debug: Add option to set disable_web_applet * yuzu: Move disable_web_applet to UISettings ------------------------------------------------------------------- Wed Mar 23 13:36:57 UTC 2022 - pousaduarte@gmail.com - Update to version 0960: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7832" * "Merge Tagged PR 8012" * Revert "dynarmic: Reduce size of code caches" * applets/mii: Remove unused include * applets/mii: Remove frontend parameters * applets/mii: Cleanup MiiEdit applet implementation * applets/mii: Cleanup MiiEdit applet types * applets/mii: Move MiiEdit applet types into its own file * service: Move mii enums and structs into its own file * applets: Rename Mii to MiiEdit * qt_web_browser: Add missing includes * general: Fix clang/gcc build errors * yuzu_cmd: Reduce unused includes * yuzu: Reduce unused includes * web_service: Reduce unused includes * input_common: Reduce unused includes * shader_recompiler: Reduce unused includes * common: Reduce unused includes * video_core: Reduce unused includes * common: Reduce unused includes * core: Reduce unused includes * Address review comments * shader_recompiler/EXIT: skip render targets with no outputs * shader_recompiler/EXIT: increment output register on failed enable test ------------------------------------------------------------------- Tue Mar 22 15:04:31 UTC 2022 - pousaduarte@gmail.com - Update to version 0958: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7832" * "Merge Tagged PR 8012" * BufferCache: Find direction of the stream buffer increase. * dynarmic: Accelerate SHA256 and implement for A32 frontend * build-msvc: Disable tests * KHandleTable: Optimize table entry layout * vk_texture_cache: Do not reinterpret DepthStencil source images * texture_cache: Ensure has_blacklisted is always initialized * texture_cache: Remove dead code within SynchronizeAliases * texture_cache: Amend unintended bitwise OR in SynchronizeAliases ------------------------------------------------------------------- Sun Mar 20 00:14:00 UTC 2022 - pousaduarte@gmail.com - Update to version 0956: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * "Merge Tagged PR 7832" * "Merge Tagged PR 8012" * general: Reduce core.h includes * Address review comments * shader_recompiler: Use functions for indirect const buffer accesses * Address review comments * Address review comments * shader_recompiler: Implement LDC.IS address mode * Vulkan: convert S8D24 <-> ABGR8 * bsd: Allow inexact match for address length in AcceptImpl * yuzu_cmd: Allow user to specify config file location * default_ini: List use_extended_memory_layout in default config file * core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace. * core: hle: kernel: Allocate dummy threads on host thread storage. * core: hle: kernel: Downgrade dangling objects warning to debug. * core: hle: kernel: Make object list container global and ensure it is reset on each emulation session. * core: hle: kernel: Remove server session tracking. * core: hle: kernel: k_process: Remove handle table finalize, reset page table. * core: hle: kernel: k_process: Implement thread local storage accurately. * core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS. * core: hle: kernel: k_slab_heap: Refresh to use guest allocations. * core: hle: kernel: Update init_slab_heap, use device memory, and add KThreadLocalPage and KPageBuffer. * core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive. * core: hle: kernel: k_page_buffer: Add KPageBuffer primitive. * core: hle: kernel: k_thread: Ensure host Fiber is freed. * core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed. * core: hle: service: kernel_helpers: Use system resource limit. * core: hle: service: sm: Fix KPort reference count. * core: hle: kernel: k_thread: Update to reflect tree changes. * core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager. * core: hle: kernel: k_memory_layout: Update kernel slab memory sizes. * core: hle: kernel: svc_types: Add ThreadLocalRegionSize. * core: hle: kernel: k_condition_variable: Update to reflect tree changes. * core: hle: kernel: k_address_arbiter: Update to reflect tree changes. * common: tree: Various updates. * common: intrusive_red_black_tree: Various updates. * shader: add support for const buffer indirect addressing * maxwell_3d: Implement a safer CB data upload * Maxwell3D: Link to override constant definition in nouveau * Maxwell3D: restore original topology when topology overrides are disabled * Maxwell3D: Use override constants from nouveau * dynarmic: Reduce size of code caches * Shader decompiler: do constant propgation before texture pass. * Shader decompiler: Fix storage tracking in deko3d. * config: Write dynarmic exclusive memory configs * rescaling_pass: Fix rescaling Color2DArray ImageFetch offsets * emit_spirv, vk_compute_pass: Resolve VS2022 compiler errors * build(cmake): fix missing Qt5::DBus link target for bundled linux package * Maxwell3D: Restrict topology override effect to after the register is set * Revert "build(cmake): fix missing Qt5::DBus target on linux" * cpu_detect: Add additional x86 flags and telemetry * common/telemetry: Update `AddField` name type to `string_view` * Maxwell3D: mark index buffers as dirty after updating counts * TextureCacheRuntime: allow converting D24S8 to ABGR8 * Maxwell3D: read small-index draw and primitive topology override registers * backend: Ensure backend_thread is destructed before message_queue * build(cmake): fix missing Qt5::DBus link target * applet: mii: Simple implementation of mii applet ------------------------------------------------------------------- Sun Mar 13 00:14:39 UTC 2022 - pousaduarte@gmail.com - Update to version 0947: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * "Merge Tagged PR 7832" * cpu_detect: Revert `__cpuid{ex}` array-type argument * cpu_detect: Add missing `lzcnt` detection * cpu_detect: Refactor cpu/manufacturer identification * cpu_detect: Update array-types to `span` and `array` * cpu_detect: Utilize `Bit<N>` utility function * cpu_detect: Compact capability fields * bit_util: Add `bit` utility function * hle: service: ldr: Use deterministic addresses when mapping NROs. * shader_recompiler/LOP3: Use brute force python results within switch/case. * hle: kernel: KPageTable: Improve implementations of MapCodeMemory and UnmapCodeMemory. * video_core: Cancel Scoped's exit call on GPU failure * emu_window: Create a way to Cancel the exit of a Scoped * core: Don't shutdown a null GPU * MaxwellDMA: Implement semaphore operations ------------------------------------------------------------------- Mon Mar 07 14:09:43 UTC 2022 - pousaduarte@gmail.com - Update to version 0944: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * "Merge Tagged PR 7832" * "Merge Tagged PR 7974" * "Merge Tagged PR 7975" * gl_graphics_pipeline: Improve shader builder synchronization using fences (#7969) * host_memory: Fix fastmem crashes in debug builds ------------------------------------------------------------------- Sun Mar 06 00:15:09 UTC 2022 - pousaduarte@gmail.com - Update to version 0942: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * "Merge Tagged PR 7832" * "Merge Tagged PR 7974" * "Merge Tagged PR 7975" * Update translations (2022-03-01) * ffmpeg: Fix mis-maching argument warning for endif * dynarmic: Update to latest master * hle: kernel: Re-create memory layout at initialization. * hle: kernel: Remove unused pool locals. * hle: kernel: k_memory_manager: Rework for latest kernel behavior. * logging: Convert `backend_thread` into an `std::jthread` * gl_fence_manager: Minor optimization to signal querying * dynarmic: Inline exclusive memory accesses * hle: kernel: k_page_heap: GetPhysicalAddr can be const. * hle: kernel: k_page_heap: Remove superfluous consexpr. * hle: kernel: k_page_heap: Various updates and improvements. * hle: kernel: Add initial_process.h header. * hle: kernel: board: nx: Add k_memory_layout.h header. * hle: kernel: k_system_control: Add GetRealMemorySize and update GetKernelPhysicalBaseAddress. * hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion. * hle: kernel: k_memory_region_types: Update for new regions. * externals: Dynarmic: Update to latest rev. ------------------------------------------------------------------- Sun Feb 27 22:14:40 UTC 2022 - pousaduarte@gmail.com - Update to version 0930: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * "Merge Tagged PR 7832" * vulkan_device: Blacklist RADV on RDNA2 from VK_EXT_vertex_input_dynamic_state * maxwell_to_(gl/vk): Add 11_11_10 float vertex format * vk_blit_screen: Add missing format bgra8 * service: am: Update enum names to match documentation * hle: kernel: KSystemControl: Use 6GB memory layout when "use_extended_memory_layout" setting is enabled. * core: device_memory: Use memory size reported by KSystemControl. * settings: Add a new "use_extended_memory_layout" setting. * core: hle: kernel: Remove resource limit hack for PhysicalMemory. * core: hle: kernel: KProcess: Pass in KResourceLimit on process creation. * core: hle: kernel: KEvent: Pass in owner KProcess on event creation. * core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process. * vulkan_device: fix missing format in ANV * yuzu: Remove amiibos on drag and drop * fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory. * core: hle: kernel: KPageTable: Fix UnmapPages. * core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory. * input_common: Remove battery duplicated struct and update every button press ------------------------------------------------------------------- Sun Feb 20 00:15:21 UTC 2022 - pousaduarte@gmail.com - Update to version 0923: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * "Merge Tagged PR 7913" * common: Add NullVisitor default constructor * yuzu: config: Fix mapping issues with the enter key * Dump patched exefs rather than base * kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32 * common: fs_util: Add buffer to string view utility functions * debugger: console: Set console output codepage to UTF-8 * nfp: Allow files without password data * hid: Stub IsUsbFullKeyControllerEnabled * audio_core: Update current process revision * service/mnpp: Stub mnpp_app * nfp: Separate nfc tag from amiibo data * svc: Set unique names for function tables * nfp: Address compiler issues * nfp: Validate amiibo files * yuzu: Allow to open and remove the amiibo * nfp: Improve implementation * nfp: Move IUser class to header and add missing enum and structs * nfp: Sort functions by command number ------------------------------------------------------------------- Sun Feb 13 00:16:08 UTC 2022 - pousaduarte@gmail.com - Update to version 0915: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * common: uuid: Use sizeof(u64) instead of 8 in Hash() * hle: kernel: KCodeMemory: Remove unused QueryMemory. * hle: kernel: KCodeMemory: Correct m_page_group number of pages. * yuzu: Mute audio when in background * yuzu: Add docked, GPU accuracy and adapting filter hotkeys * yuzu: Add auto center on right click * common: uuid: Return an invalid UUID if conversion from string fails * general: Rename NewUUID to UUID, and remove the previous UUID impl * profile: Migrate to the new UUID implementation * common: uuid: Add AsU128() * hle: ipc_helpers: Ignore -Wclass-memaccess * service: Migrate to the new UUID implementation * input/hid: Migrate to the new UUID implementation * common: Implement NewUUID ------------------------------------------------------------------- Sun Feb 06 22:53:44 UTC 2022 - pousaduarte@gmail.com - Update to version 0910: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * config: Support motion inputs * main: Always remove the frameless window flag when restoring UI state * input_common: Remove unused core include * service: pm: Implement AtmosphereGetProcessInfo * yuzu: config: Vibrate the controller while configuring vibration strength * yuzu: ui: Improve battery symbols * common_types: Remove NonCopyable struct * general: Replace NonCopyable struct with equivalents * general: Move deleted copy/move constructor/assignment operators to public interface * hle: kernel: KPageTable: Migrate locks to KScopedLightLock. * yuzu: Disable auto repeat on hotkeys again * Vulkan: Fix Scheduler Chunks when their FuncType is 0. * input_common: Use attributes for analog range modifiers * emit_glsl_atomic: Implement 32x2 fallback atomic ops * lower_int64_to_int32: Add 64-bit atomic fallbacks * shaders: Add U64->U32x2 Atomic fallback functions ------------------------------------------------------------------- Wed Feb 02 15:06:02 UTC 2022 - pousaduarte@gmail.com - Update to version 0906: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7812" * "Merge Tagged PR 7814" * configure_filesystem: Add missing changeEvent() override * configure_filesystem: Normalize member function casing * configure_motion_touch: Use functor versions of invokeMethod * configure_input_player: Eliminate variable shadowing * configure_input_player: std::move input setters in HandleClick * configure_input_player: Avoid unnecessary ParamPackage copies * yuzu/game_list: Use non-deprecated version of QString's split() function * Update dynarmic. * common/file: Remove [[nodiscard]] from Open() * video_core/shader_cache: Remove unused algorithm include * video_core/shader_cache: Take std::span in RemoveShadersFromStorage() * Update translations (2022-02-01) * svc: Add 32 bit SynchronizePreemptionState * Rasterizer: Refactor inlineToMemory. * common: wall_clock: Check precision against the emulated CPU and CNTFRQ * common: wall_clock: Utilize constants for ms, us, and ns ratios * input_common: Add home and hard touch press buttons to UDP controllers * GPU: Improve syncing. * Rasterizer: Implement Inline2Memory Acceleration. * Inline2Memory: Flush before writting buffer. * hotkeys: Don't translate hotkey buttons ------------------------------------------------------------------- Sun Jan 30 00:29:38 UTC 2022 - pousaduarte@gmail.com - Update to version 0900: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * "Merge Tagged PR 7805" * spirv_atomic: Define U32x2 storage buffers for 64-bit storage atomics * emit_spirv: Add Xfb execution mode when transform feedback is used * wall_clock: use standard wall clock if rtsc frequency is too low * buffer_cache: Reduce stream buffer allocations when expanding from the left * hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated. * video_minimum_maximum: Implement src operand selectors * input_common: Add DS5 to HD rumble list * common/xbyak_api: Make BuildRegSet() constexpr * video_core/macro: Add missing <cstring> header * video_core/macro_interpreter: Move impl class to the cpp file * video_core/macro_hle: Return unique_ptr directly from GetHLEProgram() * video_core/macro: Remove unused parameter from Execute() * video_core/macro_jit_x64: Remove unused impl class member * video_core/macro_jit_x64: Decouple PersistentCallerSavedRegs() from impl * video_core/macro_jit_x64: Move impl class into cpp file * video_core/macro_hle: Move impl class into cpp file * input_common: Add option to configure gyro threshold * core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages. * core: hle: kernel: KPageTable: MapProcessCode: Various cleanup. * core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup. * core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup. * core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup. * core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr. * core: hle: kernel: KPageTable: Operate: Assert lock ownership. * core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock. * core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods. * core: hle: kernel: Rename Un/Map to Un/MapMeory. ------------------------------------------------------------------- Wed Jan 26 12:48:26 UTC 2022 - pousaduarte@gmail.com - Update to version 0891: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * gpu: Tidy up forward declarations * gpu: Remove obsoleted CDMAPusher() accessors * vk_fsr: Replace comma operator with semicolon * shader_recompiler: Remove unnecessary [[nodiscard]] * input_common/input_engine: Ensure PadIdentifier UUIDs have a valid initial state * input_common/input_mapping: Simplify UUID validity checks * input_common/input_mapping: Add missing includes * input_common/input_mapping: Remove const from return value * input_common/input_mapping: Default constructor * input_common/main: Pass MappingData by const reference in callbacks * input_common/udp_client: Replace deprecated from_string()/to_ulong() functions * input_common/udp_client: Prevent unnecessary string copies * kernel/k_affinity_mask: Remove duplicated assert * yuzu: Add setting to disable controller navigation * Update FSR to 1.0.2 * hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount. * Improve FFmpeg cmake file * yuzu: Add modifiers for keyboard ------------------------------------------------------------------- Sun Jan 23 15:38:15 UTC 2022 - pousaduarte@gmail.com - Update to version 0887: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * hle: kernel: KThread: Ensure host (dummy) threads block on locking. * service/wlan: Update function tables * service/usb: Update function tables * service/set: Update function tables * service/ns: Update function tables * service/nim: Update unknown function table entries * service/friend: Update unknown function table entries * service/filsystem: Update fsp-srv function table * service/btm: Update function tables * service/audio: Update audctl unknown function names * service/am: Update omm function tables * service/acc: Update unknown function names * Use Default Colorful theme by default outside of Windows * service: apm: Stub ISession SetCpuOverclockEnabled * hle: kernel: Remove redundant tracking of dummy threads. * hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not nullptr. * hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled. * hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on thread exit. * hle: kernel: KServerSession: Remove hack for CompleteSyncRequest. * hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait. * hle: kernel: KThread: Ensure dummy threads never call EndWait. * hle: kernel: KScheduler: Ensure dummy threads are never scheduled. * hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type. * video_core: constify AVCodec for ffmpeg >= 5.0 * service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp * vulkan_device: Fix sType for VkPhysicalDeviceShaderAtomicInt64Features * input_common: Report battery for UDP controllers * shader_recompiler: fix potential OOB access * hle: remove no-op code * input_common: nitpick about SetHatButton usage * input_common: fix copy-paste error * hid: fix std::transform call * uisettings: Add enumeration type for themes * config: Change default theme to Dark Colorful * Correct assignment source for rotations * input_common: Reintroduce motion from mouse and use button names * astc_decoder: Combine FastReplicate functions to work around new NV driver bug * audio/stream: Adjust volume scale factor * yuzu: Add volume up/down hotkeys * Xbox controller default name nit pick * yuzu: Remove speed limit hotkeys * hle: kernel: k_memory_manager: Clear pages on allocation & free. * Change default name for ps controllers * core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl. * core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl. * core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates. * core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager. * core: hle: kernel: Add KWorkerTask and KWorkerTaskManager. * common: fiber: YieldTo: Avoid hard crash on nullptr previous_fiber. * hle: kernel: Fix service_threads access to be thread safe V2. * core/hid: Increment shake force * hle: kernel: Fix service_threads access to be thread safe. * service/hid: Decrease motion update rate * core/hid: Reduce gyro threshold even more * hle: kernel: k_page_table: Update SetProcessMemoryPermission. * hle: service: ldr: UnmapCodeMemory BSS only when set. * hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite. * hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory. * cmake: make tests optional * common: bit_util: Add IsPow2 helper function * yuzu: main: Increase the open file limit on Windows to 8192 * logging/log.h: move enum class formatter to a separate file ... * cmake: upgrade Conan package fmt to 8.1.1 ... * logging/log: use `underlying_type` instead of hardcoding types * core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission. * input_common: Handle errors on TAS scripts * core: hle: kernel: k_page_table: Update CheckMemoryState. * logging: adapt to changes in fmt 8.1 * yuzu: Use pad parameter to choose the correct controller * input_common: Fix udp motion not automapping to both sides * yuzu: Add controller hotkeys * core/hid: Add home and screenshot button support ------------------------------------------------------------------- Sun Jan 09 13:57:07 UTC 2022 - pousaduarte@gmail.com - Update to version 0873: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * core/hid: Set minimum gyro threshold * input_common: Use accelerometer data for mapping * externals/dynarmic: update to latest revision ... * Update translations (2022-01-05) * configure_per_game: Initialize tabs after loading custom configuration * video_core: Remove unnecesary maybe_unused flag * glsl: Remove unreachable return * gpu: Add shut down method to synchronize threads before destruction * ShaderDecompiler: Add a debug option to dump the game's shaders. * Revert "Merge pull request #7668 from ameerj/fence-stop-token" * gpu: Use std::stop_token in WaitFence for VSync thread * core/hid: Add fallback to fullkey controllers * controller_applet: Only populate supported controllers * yuzu: Fix UI elements not updating correctly * texture_cache/util: Fix s32 overflow when resolving overlaps * video_core/memory_manager: Fixes for sparse memory management * video_core/memory_manager: Deduplicate Read/WriteBlock * externals: Update dynarmic to 28714ee7 * core: hle: kernel: Implement thread pinning. * core/hid: Fix controller type validation * glsl: Add boolean reference workaround * glsl_context_get_set: Add alternative cbuf type for broken drivers * emit_glsl_integer: Use negation work around * shader: Add integer attribute get optimization pass * Empty spaces * Changes to avoid warnings in SSE4.2 optimized SPIR-V * Remove invalid assertion statement * Remove invalid header include * Implement few type in bufferqueue query method * core: hle: kernel: Updated implementation of svcSetHeapSize. * emit_glasm_context_get_set: Fix GetAttribute return value type. * emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers * vk_texture_cache: Use 3D scale helpers for MSAA texture scaling on Intel Windows drivers * vk_texture_cache: Fix invalidated pointer access * core: hle: kernel: Implement SetMemoryPermission. * Increase boost requirement to 1.78.0 * Add support for linking against system opus ------------------------------------------------------------------- Sun Dec 26 12:46:00 UTC 2021 - pousaduarte@gmail.com - Update to version 0859: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * blit_image: Remove unused function * core: hle: kernel: KThread: X18 should be a cryptographically random number. * main: reword inhibit reason * main: fix wake lock in Flatpak ... * hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount. * dist/XDG: add more file associations * Allow overriding SCM version info * main: Refactor to reduce code duplication in ShowFullscreen() * main: Make render window borderless fullscreen toggle on the monitor it resides in * kernel: Manually destroy the current process during shut down * video_core/codecs: re-enable VAAPI/VDPAU on BSDs after 72aa418b0b41 * cmake: enable VA-API on more Unix-like after 0be4e402e213 * core: loader: kip: Minimal changes to fix KIP loading. * Address format clang * Vulkan: Fix the checks for primitive restart extension. * Remove spirv handle legacy related code * Remove glsl handle legacy related code * Vulkan: implement Logical Operations. * Vulkan: Implement VK_EXT_primitive_topology_list_restart * core: hle: Remove global HLE lock. * core/hid: Cancel any vibration after the test * service/hid: Improve console motion accuracy * Implement convert legacy to generic ------------------------------------------------------------------- Sun Dec 19 00:41:17 UTC 2021 - pousaduarte@gmail.com - Update to version 0852: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7497" * [input_common] Move variable declaration closer to usage * externals/SDL: update SDL to version with Wayland build fix * externals/CMakeLists: fix detection/init of Switch controllers in SDL 2.0.18 * Suggestions from CrusadingNinja * Changed link * externals/ffmpeg: set the cmake variable twice ... * externals: fix a regression when using MSVC * video_core/codecs: (re-spin) refactor ffmpeg searching and handling * yuzu/main: Fix host memory byte units. GB to GiB * game_list: Add persistent setting for the favorites row expanded state * Fix blit image/view not compatible * main: Update video core popup * vk_texture_cache: Add ABGR src format check for D24S8 conversions * renderer_opengl: Minor refactoring of filter selection * texture_cache: Fix image convert dimensions assertion * blit_image: Refactor upscale factors usage * vk_texture_cache: Add a function to ImageView to check if src image is rescaled * blit_image: Refactor ConvertPipeline functions * blit_image: Refactor ConvertPipelineEx functions * vk_blit_screen: Minor refactor of filter pipeline selection * Revert "Merge pull request #7395 from Morph1984/resolve-comments" * Revert of b01aa72 * [input_common] Add completion test for CalibrationConfigurationJob ------------------------------------------------------------------- Thu Dec 16 11:13:34 UTC 2021 - pousaduarte@gmail.com - Update to version 0849: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake" * core/hid: Fix faulty analog triggers * input/SDL: Update SDL hints * CI: fix CI on Linux * video_core/codecs: skip decoders that use hw frames ... * common/input: Avoid numerous large copies of CallbackStatus * common/cpu_detect: Remove CPU family and model * common/input: Remove unnecessary returns * input_poller: Add missing override specifiers * input_mapping: Amend specification of parameters * input_poller: Remove several unnecessary @param tags * CI: fix MinGW installation step * ffmpeg: move the whole tree into externals/ffmpeg/ffmpeg ... * cmake: refactor ffmpeg searching and handling logic on Linux * qt_software_keyboard: Fix out of bounds array access * tas_input: Avoid minor copies in Read/WriteCommandButtons() * tas_input: Remove unnecessary semicolon * tas_input: Execute clear() even if empty * tas_input: Remove unnecessary includes * tas_input: std::move strings into vector * tas_input: Use istringstream over stringstream * tas_input: Use u8string_view instead of u8string * tas_input: Remove unused std::smatch variable * tas_input: Amend -Wdocumentation warnings * tas_input: Make TasAxes enum an enum class * input_engine: Fix typo in TriggerOnAxisChange() parameter name * input_engine: Simplify PreSet* family of functions * input_engine: Avoid redundant map lookups * input_engine: Remove left-over namespace qualifiers * input_engine: Iterate by reference rather than by value where applicable * input_engine: Take BasicMotion by const reference with SetMotion() and TriggerOnMotionChange() * input_engine: std::move InputIdentifier in SetCallback() * input_engine: Pass LedStatus by const reference * input_engine: Pass VibrationStatus by const reference in SetRumble() * input_engine: std::move engine name where applicable * input_engine: Remove callback clearing in constructor * input_engine: Remove unnecessary semi-colons * input_engine: Remove unnecessary return * Remove erroneous #pragma once * maxwell_to_vk: Add ASTC_2D_5X4_UNORM * build: remove remaining bits of Unicorn * maxwell_to_vk: Add ASTC_2D_8X5_UNORM * hle: kernel k_scheduler: EnableScheduling: Remove redundant GetCurrentThreadPointer calls. * hle: kernel k_process: Remove unnecessary .at usage with thread pinning methods. * hle: kernel: Remove unnecessary virtual specifier on NotifyAvailable. * hle: kernel: Remove unnecessary virtual specifier on EndWait. * hle: kernel: k_light_condition_variable: Revert unnecessary license comment changes. * hle: kernel: k_condition_variable: Revert unnecessary style changes. * hle: kernel: Remove unnecessary virtual specifier on CancelWait. * hle: kernel: service_thread: Force stop threads on destruction. * hle: kernel: k_light_lock: Implement CancelWait. * hle: kernel: service_thread: Use std::jthread. * hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC. * hle: kernel: k_thread: Rename sleeping_queue -> wait_queue. * hle: kernel: svc: Fix deadlock that can occur with single core. * hle: kernel: k_thread: Treat dummy threads as a special type. * hle: kernel: fix timing on thread preemption * hle: kernel: fix scheduling ops from HLE host thread. * hle: kernel: Add a flag for indicating that the kernel is currently shutting down. * hle: kernel: KSynchronizationObject: Fix variable shadowing. * hle: kernel: Cleanup to match coding style. * hle: kernel: KProcess: Improvements for thread pinning. * hle: kernel: KThreadQueue: Remove deprecated code. * hle: kernel: KConditionVariable: Various updates & simplifications. * hle: kernel: KThread: Migrate to updated KThreadQueue (part 2). * hle: kernel: KThread: Migrate to updated KThreadQueue (part 1). * hle: kernel: KConditionVariable: Migrate to updated KThreadQueue. * hle: kernel: KServerSession: Migrate to updated KThreadQueue. * hle: kernel: KLightConditionVariable: Migrate to updated KThreadQueue. * hle: kernel: KLightLock: Migrate to updated KThreadQueue. * hle: kernel: KAddressArbiter: Migrate to updated KThreadQueue. * hle: kernel: KThread: Remove tracking of sync object from threads. * hle: kernel: Update KThreadQueue and migrate KSynchronizationObject. * core: hle: kernel: Disable dispatch count tracking on single core. * core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard. * core: cpu_manager: Use invalid core_id on init and simplify shutdown. * core: hle: kernel: k_auto_object: Add GetName method. * core: hle: kernel: DisableDispatch on suspend threads. * core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling. * core: cpu_manager: Use KScopedDisableDispatch. * core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate. * core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess. * core: hle: kernel: k_scheduler: Improve ScheduleImpl. * core: hle: kernel: k_scheduler: Improve Unload. * core: hle: kernel: k_process: DisableDispatch on main thread. * core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary. * core: hle: kernel: k_thread: Add KScopedDisableDispatch. * core: hle: kernel: Ensure idle threads are closed before destroying scheduler. * core: hle: kernel: Reflect non-emulated threads as core 3. * build: update cubeb and remove the result_of comment ------------------------------------------------------------------- Sun Dec 12 00:39:26 UTC 2021 - pousaduarte@gmail.com - Update to version 0845: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * profiler: Use QWheelEvent position().toPoint() * renderer_vulkan: Add R16G16_UINT * Update k_code_memory.h * make KCodeMemory::GetSourceAddress const * CMakeLists: Specify /Zm200 when compiling in MSVC * input_common: Update SDL to 2.0.18 * service/notif: Add notif:a and stub ListAlarmSettings,Initialize * fix formatting * move private members below public members * fix formatting * fix formatting * Update README.md * service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment * loader: Support loading subsdk{8,9} * fix formatting * Remove unnecessary includes * emit_spirv: Reduce emit_spirv.h include overhead * glasm: Move implemented instructions from not_implemented.cpp * shader_recompiler: Adjust emit_context includes * service/hid: Implement SetNpadJoyAssignmentMode * Add copyright notice * shader_recompiler: Rename backend emit_context files * general: Add missing copyright notices * Add KCodeMemory to CMakeLists.txt * kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory * core/hid: Add missing controller type * Fixed #7502 * core/hid: Ensure only valid npad are connected * Address feedback * Texture Cache: Fix crashes on NVIDIA. * native_clock: Wait for less time in EstimateRDTSCFrequency * Support multiple videos playing ------------------------------------------------------------------- Sun Dec 05 00:40:33 UTC 2021 - pousaduarte@gmail.com - Update to version 0837: * "Merge Tagged PR 6598" * "Merge Tagged PR 7346" * "Merge Tagged PR 7495" * video_core/cmake: link against libva explicitly ... * video_core/codecs: more fixes for VAAPI detection ... * video_core/codec: address comments * video_core/codecs: more robust ffmpeg hwdecoder selection logic * service: am: ISelfController: Stub SaveCurrentScreenshot * yuzu: Implement basic controller navigation * general: Replace high_resolution_clock with steady_clock * Update translations (2021-12-01) * service: friend: Implement GetCompletionEvent * input_common: Fix error with thread name * input_interpreter: Make use of NpadButton instead of a u64 * npad: Return NpadButton in GetAndResetPressState * core: hid: hid_types: Add "All" to NpadButton * qt_controller: Make use of (Enable/Disable)AllControllerConfiguration * core: hid: hid_core: Add (Enable/DIsable)AllControllerConfiguration * general: Fix handheld typo * core: hid: Mark constructors as explicit * core: hid: Cleanup and amend documentation * Add missing pixel format mapping * qt_controller: Fix input when the controller applet is ignored * Texture Cache: Secure insertions against deletions. * core/ns: Implement GetReadOnlyApplicationControlDataInterface * core/pdm: Stub QueryPlayStatisticsByApplicationIdAndUserAccountId * settings: Add debug setting to enable all controllers * core/hid: Stub GetUniquePadsFromNpad * Texture Cache: Redesigning the blitting system (again). * Texture Cache: Further fix regressions. * Texture Cache: Fix issue with blitting 3D textures. * Texture Cache: Correct conversion shaders. * Texture Cache: Always copy on NVIDIA. * TextureCache: Simplify blitting of D24S8 formats and fix bugs. * VulkanTexturECache: Use reinterpret on D32_S8 formats. * HostShaders: Fix D24S8 convertion shaders. * TextureCache: Eliminate format deduction as full depth conversion has been supported. ------------------------------------------------------------------- Sun Nov 28 00:42:41 UTC 2021 - pousaduarte@gmail.com - Update to version 0830: * "Merge Tagged PR 6598" * "Merge Tagged PR 7396" * config: Remove vibration configuration * applet/controller: Enable configuring mode while the applet is open * input_common: Fully implement UDP controllers * CMakeLists: Update fmt to 8.0.1 * service/hid: Finish converting LIFO objects and address some nits * yuzu: Fix TAS from rebase * input_common: Move button names to the frontend * input_common: Fix SDL controller with inverted axis * bootmanager: Use cross-platform keyboard input * kraken: Address comments from review * core/hid: Improve accuary of mouse implementation * core/hid: Fully implement native mouse * input_common: Allow keyboard to be backwards compatible * core/hid: Improve accuracy of the keyboard implementation * core/hid: Fix keyboard alignment * core/hid: Remove usage of native types, fix a couple of errors with motion * settings: Remove includes of core.h * service/hid: Remove includes of core.h and settings.h * UI nits Set top margin to 6 on Right Stick, LeftStick, Face Buttons, D-Pad. Change property on Input Device QComboBox from minimumSize to minimumContentsLength. * service/hid: Add support for new controllers * settings: Fix controller preview not displaying the correct controller * core/hid: Rename NpadType to NpadStyleIndex * config: Cleanup and documentation * input_common: Fix motion from 3 axis * core/hid: Prevent Emulated controller from flapping with multiple inputs devices * core/hid: Fully emulate motion from button * second commit lion review * settings: Fix Debug controller type options * kraken: Address comments from review * input_common: Revert deleted TAS functions * core/hid: Explain better what a temporary value does * input_common: Fix GC adapter initialization * core/hid: Update structs to 13.1.0 * core/hid: Add TAS input * input_common: Fix UDP uuid * input_common: Add multiple vibration curves * core/hid: Rework battery mappings * input_common: Add manual update options to input devices * service/hid: Fix memory allocated incorrectly * settings: Fix mouse and keyboard mappings * web_applet: Replace HIDButton with NpadButton * Morph review first wave * service/hid: Match shared memory closer to HW * yuzu: Fix loading input profiles * kraken: Address comments from review * service/hid: Use ring buffer for gestures * service/hid: Fix gesture input * configuration: Migrate controller settings to emulated controller * core/hid: Fix rumble too strong at 1% * core/hid: Only signal when needed * hid: Fix controller connection/disconnection * core/hid: Documment some files * kraken: Fix errors from rebase and format files * core/hid: Add output devices * core: Update input interpreter * yuzu: Update overlay applet * core/frontend: Update applets * core: Remove frontend/input * service/hid: Rewrite npad to use ring lifo and the emulated controller * service/hid: Update console sixaxis to the emulated console * service/hid: Update mouse and keyboard to use ring lifo and the emulated device * service/hid: Update touch and gestures to use ring lifo and the emulated console * service/hid: Update debug pad, xpad, stubbed and controller base to use ring lifo and the emulated controller * service/hid: Use remove duplicated code, update names * service/hid: Create ring LIFO * Qt_applets: Use new input * settings: Cleanup settings * debugger/controller: Remove TAS * core/emu_window: Remove touch input * yuzu: Update frontend * core: Register HID * core/hid: Add emulated controllers * yuzu_cmd: Use new input * yuzu: Use new input on main and bootmanager * input_common: Rewrite main and add the new drivers * input_common: Remove obsolete files * input_common: Rewrite SDL * input_common: Rewrite udp client * input_common: Rewrite tas input * input_common: Rewrite gc_adapter * input_common: Rewrite touch * input_common: Rewrite mouse * input_common: Rewrite keyboard * input_common: Move touch and analog from button. Move udp protocol * input_common: Create input poller and mapping * input_common: Create input_engine * core/hid: Move motion_input, create input converter and hid_types * core/hid: Move input_interpreter to hid * common: Rewrite and move core/frontend/input.h to common * Refactor menu states and shortcuts in GMainWindow. (#7419) * video_core/codec: address comments * video_core/codecs: fix multiple decoding issues on Linux ... * arm: dynarmic: Cleanup icache op handling * arm: dynarmic: Implement icache op handling for 'ic iallu' instruction * arm: dynarmic: Implement icache op handling for 'ic ivau' instruction * const fixes * Apply clang format * Added TAS controls to the menu under Tools * configure_general: Allow framerate cap to be used in custom game configs * kernel: svc: Move all IsValid functions to an anonymous namespace * kernel: svc: Implement SetProcessMemoryPermission * kernel: KPageTable: Rename SetCodeMemoryPermission to SetProcessMemoryPermission * vk_texture_cache: Mark VkBufferUsageFlags as static constexpr * vk_blit_image: Consolidate CreatePipelineTargetEx functions * service: pm: Implement AtmosphereGetProcessId * service: pm: Add all relevant result codes * service: pm: Rename title id to program id * Fix screenshot dimensions when at 1x scale * TextureCache: Refactor and fix linux compiling. * TextureCache: Assure full conversions on depth/stencil write shaders. * TextureCache: Implement buffer copies on Vulkan. * TextureCache: Add R16G16 to D24S8 converter. * TextureCache: Add B10G11R11 to D24S8 converter. * TextureCache: Further fixes on resolve algorithm. * TextureCache: Implement additional D24S8 convertions. * TextureCache: force same image format when resolving an image. * TextureCache: Fix regression caused by ART and improve blit detection algorithm to be smarter. * Vulkan: implement D24S8 <-> RGBA8 convertions. * Fix crash on exit due to static scoped dummy threads * Replace "Light" theme by "Default" ------------------------------------------------------------------- Sun Nov 21 00:47:10 UTC 2021 - pousaduarte@gmail.com - Update to version 0817: * "Merge Tagged PR 6598" * "Merge Tagged PR 7368" * main: Fix default AA name * configure_graphics_ui: AMD's -> AMD * main: Shorten AMD FSR status bar text * renderer_vulkan: Implement S8_UINT stencil format * gl_texture_cache: Round format conversion PBO to next power of 2 * renderer_opengl: Implement S8_UINT stencil format * video_core: Add S8_UINT stencil format * hotkeys: Don't allow hotkeys to spam * Prevent window flickering when holding Esc * Fix image update/download error when width too small * texture_cache: Use pixel format conversion when supported by the runtime * gl_texture_cache: Make FormatConversionPass more generic * gl_texture_cache: Rename BGRCopyPass to FormatConversionPass * ci: Don't fetch submodules when fetching PRs * Replace keys error pop up * Move the cmake submodule checkout command to a new line ------------------------------------------------------------------- Wed Nov 17 16:32:10 UTC 2021 - pousaduarte@gmail.com - Update to version 0813: * "Merge Tagged PR 6598" * TextureCache: Fix Automatic Anisotropic. * CMakeLists: Update catch to 2.13.7 * TextureCache: OGL query device memory if possible. * TextureCache: Fix OGL cleaning * TextureCache: Add automatic anisotropic filtering and refactor code. * TextureCache: Make a better Anisotropic setter. * Texture Cache: revert Image changes. * ShaderCache: Better fix for Shuffling gl_FragCoord * HostShader: fix Gaussian filter. * Texture Cahe/Shader decompiler: Resize PointSize on rescaling, refactor and make reaper more agressive on 4Gb GPUs. * texture_cache: Refactor Render Target scaling function * gl_resource_manager: Ensure non EXT_framebuffer objects are created * Texture Cache: Fix memory usage on ScaleDown. * OpenGL: Fix viewport/Scissor scaling on downscaling. * Vulkan: fix regression. * host_shaders: Misc copyright/style changes * configure_graphics.ui: Cleanup scaling options and fix duplicate name warning * FSR: Fix GCC build errors * Vulkan: Reimplement FSR constant generation functions to avoid GCC warnings * vk_blit_screen: Fix AA destruction order * Presentation: Only use FP16 in scaling shaders on supported devices in Vulkan * renderer_vulkan/blit_image: Use generic color state on Depth to Color blits * vk_texture_cache: Refactor 3D scaling helpers * gl_rasterizer: Fix ScissorTest and Clear when scaling * gl_texture_cache: Simplify scaling procedures * OpenGlTextureCache: Fix state invalidation on rescaling. * VulkanBufferCache: Avoid adding barriers between multiple copies. * HostShader: Fix gaussian and add attribution. * Yuzu UI: Add button for Anti Alias * Vulkan: Fix FXAA in AMD. * Texture Cache: Fix blitting. * Vulkan: Implement FXAA * OpenGL: fix FXAA with scaling * OpenGL: Implement FXAA * Frontend: Add anti-aliasing method setting * Settings: Add anti-aliasing method setting * QtGUI: Add buttton to toggle the filter. * VideoCore: Add gaussian filtering. * TextureCache: Improve Reaper. * Vulkan: fix waiting on semaphore. * Update scaleforce to use FP16 * VideoCore: Add more rescaling option. * TextureCache: fix rescaling in aliases and overlap joins. * Presentation: Fix turning FSR on and off in settings * Video Core: fix building for GCC. * Vulkan Rasterizer: Fix clears on integer textures. * Texture cache: fix Intel with rescaler. * TextureCache: Fix blitting filter in Vulkan and correct viewport/scissor calculation when downscaling. * Texture Cache: fix memory managment and optimize scaled downloads, uploads. * Texture Cache: ease the requirements of textures being blacklisted. * Vulkan: Fix Blit Depth Stencil * Texture Cache: Fix downscaling and correct memory comsumption. * Presentation: add Nearest Neighbor filter. * externals: Add only included ffx-fsr headers * vulkan: Implement FidelityFX Super Resolution * Texture Cache: Rescale conversions between depth and color * Texture cache: Fix memory consumption and ignore rating when a depth texture is rendered. * vulkan: Fix rescaling push constant usage * Texture Cahe: Fix downscaling on SMO. * texture_cache_base: Remove unused function declarations * yuzu: Fix build errors * vk_texture_cache: Use 3D to scale images when blit is unsupported * texture_cache: Fix infinitely recursive ImageCanRescale check * vk_texture_cache: Fix BlitScale of non-2D images * video_core: Refactor resolution scale function * texture_cache: Fix image resolves when src/dst are not both scaled * yuzu_cmd: Read resolution_setup and scaling_filter from config * video_core,yuzu: Move UpdateRescalingInfo call to video_core * gl_texture_cache: Disable scissor test when scaling textures * vk_texture_cache: Fix unsupported blit format error checking * vk_texture_cache: Fix early returns on unsupported scales * video_core: Misc resolution scaling related refactoring * texture_cache: Refactor scaled image size calculation * Texture Cache: Fix calculations when scaling. * gl_texture_cache: Fix BGR pbo size for scaled textures * rescaling_pass: Fix IR errors when unscalable texture types are encountered * Texture Cache: Fix Rescaling on Multisample * TextureCache: Base fixes on rescaling. * rescaling_pass: Logic simplification and minor style cleanup * rescaling_pass: Scale ImageFetch offset if it exists * rescaling_pass: Enable PatchImageQueryDimensions on fragment stages * vk_texture_cache: Simplify scaled image management * gl_texture_cache: Fix scaling backup logic * vk_rasterizer: Fix scaling on Y_NEGATE * vk_texture_cache: Use nearest neighbor scaling when available * gl_texture_cache: Fix depth and integer format scaling blits * gl_texture_cache/rescaling_pass: minor cleanup * vk_texture_cache: Minor cleanup * rescaling_pass: Fix and simplify shuffle/fragcoord pass * Shader: Don't rescale FragCoord if used by Shuffle * image_info: Mark MSAA textures as non-rescalable * bootmanager: Fix screenshot resolution factor usage * gl_texture_cache: Simplify scaling * Renderers: Unify post processing filter shaders * gl_texture_cache: fix scaling on upload * Renderer: Implement Bicubic and ScaleForce filters. * Texture Cache: fix scaling on upload and stop scaling on base resolution. * shader, video_core: Fix GCC build errors * emit_spirv: Fix RescalingLayout alignment * TextureCache: Fix Buffer Views Scaling. * RescalingPass: Agregate pixels on texelFetch while on Fragment Shader * Texture Cache: Correctly fix Blits Rescaling. * shader: Fix TextureSize check on rescaling. * texture_cache: Disable dst_image scaling in BlitImage * emit_spirv: Fix RescalingLayout alignment * shader: Properly scale image reads and add GL SPIR-V support * shader: Properly blacklist and scale image loads * texture_cache: Add getter to query if image view is rescaled * vk_rasterizer: Minor style change * gl_texture_cache: Fix scaling blits * glsl/glasm: Pass and use scaling parameters in shaders * gl_rasterizer: Properly scale viewports and scissors * gl_texture_cache: Fix multi layered texture Scale * gl_compute_pipeline: Add downscale factor to shader uniforms * gl_rasterizer: Fix rescale dirty state checking * gl_graphics_pipeline: Add downscale factor to shader uniforms * texture_cache: Fix blacklists on compute * texture_cache: Simplify image view queries and blacklisting * Vulkan: Fix downscaling Blit. * Texture Cache: Implement Rating System. * OpenGL: set linear mag filter when blitting a downscaled image. * Vulkan: Fix AA when rescaling. * Texture Cache: Implement Blacklisting. * main: Add resolution scale label in the status bar * vulkan: Implement rescaling shader patching * vk_texture_cache: Properly scale blit source images * vk_graphics_pipeline: Use Shader::NumDescriptors when possible * opengl: Use Shader::NumDescriptors when possible * spirv: Implement rescaling patching * shader/rescaling_pass: Patch more instructions * shader: Add IsTextureScaled opcode * texture_cache: Add image getters * shader: Add copy constructor to instructions * shader: Add integer division opcodes * common/settings: Remove unused scaling options * shader: Fix rescaling pass * gl_texture_cache: Simplify rescaling * texture_cache: Fix typo in aliased image rescaling * vk_texture_cache: Simplify and optimize scaling blits * vk_texture_cache: Fix scaling blit validation errors * shader: Fix resolution scaling pass * shader: Add resolution down factor opcode * gl_texture_cache: Implement ScaleDown * gl_texture_cache: Rescale fixes for multi-layered textures * Texture Cache: Implement Rescaling on Aliases and Blits. * Fix blits with mips * Fix blits * renderer_gl: Resolution scaling fixes * TextureCache: Fix rescaling of ImageCopies * TextureCache: Modify Viewports/Scissors according to Rescale. * Settings: eliminate rescaling_factor. * Texture Cache: More rescaling fixes. * gl_texture_cache: WIP texture rescale * Texture Cache: Implement Vulkan UpScaling & DownScaling * ShaderDecompiler: Add initial support for rescaling. * Settings: Add resolution scaling to settings. * VideoCore: Initial Setup for the Resolution Scaler. * codes: Rename ComposeFrameHeader to ComposeFrame * CMake: Enable VP8 ffmpeg decoders * vp8: Implement header composition * codecs: Add VP8 codec class * ci: Print traceback on patch merge failure * Simply legacy attribute implement * Support gl_FogFragCoord attribute * Support gl_BackSecondaryColor attribute * Support gl_FrontSecondaryColor attribute * Support gl_BackColor attribute ------------------------------------------------------------------- Sun Nov 14 00:42:15 UTC 2021 - pousaduarte@gmail.com - Update to version 0808: * "Merge Tagged PR 6598" * program_metadata: Add default ThreadInfo kernel capability * applets/swkbd: Fix text check message encoding * applets/swkbd: Skip text checking if the text has been confirmed * Refactor Logging Impl Loop on stop_token and remove final_entry in Entry. Move Backend thread out of Impl Constructor to its own function. Add Start function for backend thread. Use stop token in PopWait and check if entry filename is nullptr before logging. ------------------------------------------------------------------- Sun Nov 07 00:19:07 UTC 2021 - pousaduarte@gmail.com - Update to version 0801: * "Merge Tagged PR 6598" * service/pctl: Stub EndFreeCommunication * vulkan_device: Add missing vulkan image format R5G6B5 in GetFormatProperties * core: Reorder perf_stats destruction order on Shutdown * general: Get the current process program id directly from the system * general: Rename GetTitleID to GetProgramID * service: aoc: Stub NotifyUnmountAddOnContent * service: aoc: Stub NotifyMountAddOnContent and NotifyMountAddOnContent * service/acc: Rename Unknown160 to InitializeApplicationInfoV2 * service: acc: Stub acc:u0 '160' * core: Fix transitive include build errors * core: Remove unused includes * svc: Correct WaitSynchronization num_handles param type * general: Remove MakeResult helpers * hle/result: Amend ResultVal documentation * hle/result: Reimplement ResultVal using Common::Expected * common: Implement a subset of P0323 (std::expected) * Shader Cahe: Fix Phi Nodes on GLASM. * ShaderCache: Fix Phi Nodes Type on OGL. * gl_rasterizer: Remove unused includes * Update translations (2021-11-01) * ShaderCache: Order Phi Arguments from farthest away to nearest. * yuzu qt: Disable the screensaver with SDL2 * profile_manager: Resize any image bigger than 256p * file_sys: control_metadata: Add BrazilianPortuguese * ns: language: Add BrazilianPortuguese to ApplicationLanguage * hle/result: Declare copy/move constructor/assignment as noexcept * hle/result: Add move assignment operator in ResultVal * hle/result: Remove cv-qualifiers from Arg in MakeResult * Fix dangling kernel objects when exiting * Revert PR7009 * Fix memory leak * emit_spirv_image: Fix depth image implicit lod sample in compute ------------------------------------------------------------------- Sun Oct 31 00:19:40 UTC 2021 - pousaduarte@gmail.com - Update to version 0794: * "Merge Tagged PR 6598" * CMakeLists: Document the /GT compile option * gl_device: Force GLASM on NVIDIA drivers 495-496 * Geometry property removal and rewording * TexturePass: Fix clamping of images as this allowed negative indices. * Fixed ARM_Dynamic_64 Step * Fixup channel submit IOCTL syncpoint parameters * Vulran Rasterizer: address feedback. * Revert "input_common: Fix data race on GC implementation" * Fix vulkan viewport issue * SVC: Implement svcInfo:IdleTickCount * ui: fix crash when closing configure window * Vulkan Rasterizer: Correct DepthBias/PolygonOffset on Vulkan. * Build System: Build with JCC Erratum Mitigation * input_common: Fix data race on GC implementation ------------------------------------------------------------------- Sun Oct 24 00:18:22 UTC 2021 - pousaduarte@gmail.com - Update to version 0788: * "Merge Tagged PR 6598" * common/alignment: Fix VS2022 compilation * input_common: Fix VS2022 compilation errors * cmake: Update conan for VS2022 support * settings: Remove std::chrono usage * add_link ------------------------------------------------------------------- Tue Oct 19 12:17:19 UTC 2021 - pousaduarte@gmail.com - Update to version 0783: * "Merge Tagged PR 6598" ------------------------------------------------------------------- Sun Oct 17 13:31:18 UTC 2021 - pousaduarte@gmail.com - Update to version 0782: * "Merge Tagged PR 6598" * Shader Compiler: avoid overflowed indices on indixed samplers. * main: fix typo in warning message * Update translations (2021-10-16) * KPageTable: Perform ranged invalidation when unmapping code memory * Vulkan: Fix failing barrier on refresh. * RasterizerInterface: Correct size of CPU addresses to cache. * Vulkan: Fix the master Semaphore * Vulkan Query Cache: make sure to wait for the query result. * QueryCache: Flush queries in order of running. ------------------------------------------------------------------- Sun Oct 17 01:09:33 UTC 2021 - pousaduarte@gmail.com - Update to version 0781: * "Merge Tagged PR 6598" * main: Add missing make_unique for ui * .ci/transifex: Mark docker.sh as executable * service/vi: Stub IHOSBinderDriver::TransactParcel GetBufferHistory (#7184) * qt_web_browser: Add missing QApplication include * NvHost/Core: Address Feedback. * Suspend temporally * NVHost_Ctrl: Force wait if the gpu falls behind too long. * bootmanager: Forward declare System and SystemResultStatus * yuzu: Construct system in GMainWindow * core: Move ResultStatus outside of System * yuzu_cmd: Remove remaining static system instances * core: Remove static system instance * Hide mouse cursor by default * main: Slightly refactor NCA entry installation in InstallNCA (#7181) * main: Use std::unique_ptr for ui * configuration: Use std::make_unique instead of operator new for ui * config: Read network_interface * .ci: Use Github Actions to update translation source files * settings_ui: Better NVDEC Description For Each Video Rendering Option (#7165) * string_util: Make use of std::string_view and add bounds checking * string_util: Prevent out of bounds access in u16string_view buffer * discord_impl: Remove global system instances * game_list: Remove global instances of Core::System * configuration: Add const qualifier where able * yuzu qt: Remove global system instances from config, WaitTree, main ------------------------------------------------------------------- Fri Oct 15 08:57:34 UTC 2021 - pousaduarte@gmail.com - Update to version 0779: * "Merge Tagged PR 6598" * externals: Update dynarmic to cce7e4ee * Build system: remove references to travis * common/fs/path_util: Slightly refactor PathManagerImpl's constructor * Create local variables for mouse and wheel positions * Fix a few warnings * ci: Use ubuntu-latest vmImage where applicable * input_common/sdl: Fix joystick range * main: Add option to reset window size to 900p * applets/web: Fallback to loader to get the manual romfs if none is found * vic: Use the minimum of surface/frame dimensions when writing the final frame to the GPU * h264: Use max allowed max_num_ref_frames when using CPU decoding * vic: Allow surface to be higher than frame * Update configure_tas.ui ------------------------------------------------------------------- Sun Oct 10 00:36:59 UTC 2021 - pousaduarte@gmail.com - Update to version 0774: * "Merge Tagged PR 6598" * vic: Avoid memory corruption when multiple streams with different dimensions are decoded * vic: Refactor frame writing methods * vic: Implement RGBX frame format ------------------------------------------------------------------- Fri Oct 08 19:47:31 UTC 2021 - pousaduarte@gmail.com - Update to version 0772: * "Merge Tagged PR 6598" * kernel: hle_ipc: Foward declare KAutoObject * service: Reduce header include overhead ------------------------------------------------------------------- Thu Oct 07 20:40:29 UTC 2021 - pousaduarte@gmail.com - Update to version 0771: * "Merge Tagged PR 6598" * nvflinger: Use jthread and stop_token for VSync thread * nvhost_ctrl: Refactor usage of gpu.LockSync() * gpu: Migrate implementation to the cpp file * CMakeLists: Update to Qt 5.15.2 * CMakeModules: Add Qt5QmlModel * service: am: Make use of Exit to exit the currently running application * yuzu: main: Register a callback for Exit * core: Add Exit and ExitCallback * service: Replace service event creation with ServiceContext::CreateEvent * network: Do not log IP address * common/logging: Reduce scope of fmt include * common/logging: Move Log::Entry declaration to a separate header * ci: Use latest ubuntu image for mainline/patreon step 1 * main: Don't add an extra separator when the title version is absent * prevent access violation from iob in Memory::IsValidVirtualAddress * CMakeLists: Remove BoxCat build option * settings: Remove BCAT settings * configure_network: Remove BCAT * service: bcat: Remove BoxCat BCAT implementation * configure_tas: Remove help button from dialog window * configure_tas: Ensure dialog buttons always stay at the bottom * externals: Remove libzip * file_sys: Remove vfs_libzip * Fix KShareMemory object leak * vk_graphics_pipeline: Force patch list topology when tessellation is used * Fix KScopedAutoObject object leak when SendSyncRequest * Use subdirectory of main data directory for QtWebEngine storage * maxwell_dma: Minor refactoring * buffer_cache: Minor fixes * input_common: Add alternative string for joycons ------------------------------------------------------------------- Fri Oct 01 13:32:45 UTC 2021 - pousaduarte@gmail.com - Update to version 0765: * "Merge Tagged PR 6598" * Fixed invalid iterator usage * style: Remove extra space preceding the :: operator * service/es: Update to 13.0.0 * service/npns: Update to 13.0.0 * service/vi: Update to 13.0.0 * service/am: Update to 13.0.0 * service/audio: Update to 13.0.0 * service/hid: Update to 13.0.0 * service/btdrv: Update to 13.0.0 * service/usb: Update to 13.0.0 * video_core: Fix jthread related hangs when stopping emulation * vk_texture_cache: Disable cube compatibility flag on non-mesa AMD GCN4 and earlier * If not on Windows, disable raw input * Hide XInput bypass on non-Windows OSes * host_shaders: Remove opengl_copy_bgra.comp * gl_texture_cache: Migrate BGRCopyPass from util_shaders * util_shaders: Unify BGRA copy passes * audin_u: Return a buffer event in RegisterBufferEvent * audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto ------------------------------------------------------------------- Sun Sep 26 14:19:05 UTC 2021 - pousaduarte@gmail.com - Update to version 0761: * "Merge Tagged PR 6598" * service: bsd: Stub Read * service: bsd: Implement Read * CMakeLists: Update to clang format version 12 * general: Update style to clang-format-12 * ci: Update clang format version * core/profile_select: Avoid uninitialized read in SelectProfile() * common/uuid: Add validity checking functions to interface * Clean-up and nits Remove redundent label, rearange checkboxs to keep same 3 per column layout, remove unneeded properties. * Clean-up Numerize names, remove unneeded properties and spacer. * Tas configure ui nits * Fix "Unknown C standard control flag" warning ------------------------------------------------------------------- Fri Sep 24 14:49:28 UTC 2021 - Boris Manojlovic <boris@steki.net> - support newer glibc versions * added glibc_consts.patch ------------------------------------------------------------------- Wed Sep 22 14:31:14 UTC 2021 - pousaduarte@gmail.com - Update to version 0757: * "Merge Tagged PR 6598" * UI: Relocate tas menu and add brief description * input_common/tas: new update method * input_common/tas: Document the main class * input_common/tas: Add swap controller * input_common/tas: overwrite file dialog * input_common/tas: Fallback to simple update * config: Move TAS options to it's own menu * core: Hacky TAS syncing & load pausing * main: TAS Playback state label * settings: File selector & other settings * input_common/tas: Base playback & recording system * fix_clang_error * fix_accidental_deletion * remove-audio-stretching-setting * vk_scheduler: Use std::jthread * gpu: Use std::jthread for async gpu thread * threadsafe_queue: Add std::stop_token overload to PopWait * Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan. * ngct: Stub Match * vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors * vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked * input_common: Enable steam controllers and 8 player support ------------------------------------------------------------------- Fri Sep 17 11:40:52 UTC 2021 - pousaduarte@gmail.com - Update to version 0751: * "Merge Tagged PR 6598" * vulkan_device: Reorder Float16Int8 declaration * Revert "Merge pull request #7006 from FernandoS27/a-motherfucking-driver" * renderers: Log total pipeline count * vfs: Partially implement GetFileTimeStampRaw * core: Destroy main_process during shutdown * Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD since it's broken. * Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1 * Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver. * common_funcs: Add enum flag bitwise shift operator overloads * vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled * vk_state_tracker: Remove unused function * FS: Mark recursive CreateDirectory as inaccurate and temporary * main: Apply confirm exit setting in exit locked scenarios * shader_environment: Add missing <algorithm> include * vk_descriptor_pool: Add missing <algorithm> include * slot_vector: Add missing <algorithm> include * video_core/memory_manager: Add missing <algorithm> include * kernel: Add missing <functional> include * file_sys/kernel_executable: Add missing <string> include * codec: Add missing <string_view> include * common_funcs: Replace <algorithm> with <iterator> * common: Move error handling to error.cpp/h * am: Implement GetNotificationStorageChannelEvent * hid: Stub SetTouchScreenConfiguration * api_version: Update and add AtmosphereTargetFirmware * Addressed issues * Mark is_complete as atomic * Addressed issues * Detail adjustment * Detail adjustment * Re-implement get unused location * Move attribute related definitions to spirv anonymous namespace * nvflinger: Use external surface format for framebuffer creation * Fix blend equation enum error * Second part of Golden's PR * Rename all shader cache references to pipeline cache * address name shadowing with system * account: EnsureTokenIdCacheAsync * FS: Recursively create directories for CreateDirectory * Dynamic get unused location * Implement intput and output fixed fnc textures * core: hle: service: buffer_queue: Improve management of KEvent. * core: cpu_manager: Use jthread. * Rename parameters * Fix create GraphicsPipelines crash * renderer_vulkan: Wait on present semaphore at queue submit * Add input/output location * emit_glsl_warp: Fix shuffle ops for 64-thread warp sizes * emit_glsl_warp: Fix ballot related ops for 64-thread warp sizes * emit_spirv_warp: Fix shuffle ops for 64-thread warp sizes * emit_spirv_warp: Fix ballot related ops for 64-thread warp sizes * Add colorfront and txtcoord support * vulkan_device: Enable VK_KHR_swapchain_mutable_format if available * vk_swapchain: Prefer linear swapchain format when presenting sRGB images * vk_rasterizer: Only clear depth and stencil buffers when set in attachment aspect mask * h264: Lower max_num_ref_frames * configure_graphics: Add GPU nvdec decoding as an option * codec: Improve libav memory alloc and cleanup * codec: Fallback to CPU decoding if no compatible GPU format is found * cmake: Add VDPAU and NVDEC support to FFmpeg * codec: Replace deprecated av_init_packet usage * cmake: Always find LIBVA, update windows FFmpeg version * nvdec: Implement GPU accelerated decoding for all platforms ------------------------------------------------------------------- Sun Sep 05 17:26:57 UTC 2021 - pousaduarte@gmail.com - Update to version 0739: * "Merge Tagged PR 6598" * core: hle: service: nvflinger/vi: Improve management of KEvent. ------------------------------------------------------------------- Sun Sep 05 00:20:07 UTC 2021 - pousaduarte@gmail.com - Update to version 0738: * "Merge Tagged PR 6598" ------------------------------------------------------------------- Thu Sep 02 16:06:03 UTC 2021 - pousaduarte@gmail.com - Update to version 0736: * "Merge Tagged PR 6598" * common/logging: Add missing include * structured_control_flow: Skip reordering nested demote branches. * structured_control_flow: Conditionally invoke demote reorder pass * structured_control_flow: Add DemoteCombinationPass ------------------------------------------------------------------- Wed Sep 01 14:56:24 UTC 2021 - pousaduarte@gmail.com - Update to version mainline0735: * "Merge Tagged PR 6598" * Garbage Collection: Make it more agressive on high priority mode. * Garbage Collection: Adress Feedback. * Garbage Collection: enable as default, eliminate option. * ngct: Stub NGCT:U service * service: nifm: Populate fields in GetCurrentNetworkProfile * service: nifm: Cleanup GetCurrentIpConfigInfo * network_interface: Cleanup code * network_interface: Replace default return value with std::nullopt * emit_spirv_context_get_set: Fix Get FrontFace return value * vp9_types: Minor refactor of VP9 info structs. * vp9_types: Remove unused Vp9PictureInfo members * vk_blit_screen: Fix non-accelerated texture size calculation ------------------------------------------------------------------- Wed Nov 11 17:44:50 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0313: * "Merge Tagged PR 1340" * ipc_helpers: Remove usage of the global system instance * cpu_interrupt_handler: Mark move contructor/assignment as deleted * externals: Update fmt to 7.1.2 * settings: log value of CPU_Accuracy * video_core: dma_pusher: Remove integrity check on command lists. * hle: service: caps_u: Stub GetAlbumFileList3AaeAruid. ------------------------------------------------------------------- Sat Nov 07 18:14:29 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0430: * "Merge Tagged PR 1340" * common/fiber: Move all member variables into impl class * settings: Simplify initializer of resolution factor * General: Fix clang build * core: Remove usage of unicorn ------------------------------------------------------------------- Fri Nov 06 13:47:55 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0429: * "Merge Tagged PR 1340" * core/settings: Move configuring_global behind an API * microprofile: Silence warning in headers * common: Enable warnings as errors * nvdec: Make use of [[nodiscard]] where applicable * fixup! hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements. * core: Initialize GPU before services. * hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements. * video_core: dma_pusher: Add support for integrity checks. * video_core: dma_pusher: Add support for prefetched command lists. * service: hle: nvflinger: Fix potential shutdown crash when GPU is destroyed. * video_core: gpu: Implement WaitFence and IncrementSyncPoint. * hle service: nvdrv: nvhost_ctrl: Update to use SyncpointManager. * hle service: nvdrv: Update to instantiate SyncpointManager. * hle: service: nvdrv: Implement SyncpointManager, to manage syncpoints. * hle: service: ldr: Implement UnloadNrr. * General: Resolve a few missing initializer warnings * shader: Partially implement texture cube array shadow ------------------------------------------------------------------- Tue Nov 03 14:06:09 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0426: * "Merge Tagged PR 1340" ------------------------------------------------------------------- Mon Nov 02 20:28:54 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0425: * "Merge Tagged PR 1340" ------------------------------------------------------------------- Sun Nov 01 14:13:40 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0424: * "Merge Tagged PR 1340" * Rename to align with switchbrew and remove gpu function (#4714) * CMakeLists: Resolve MSVC build failures * video_core: unbreak -Werror in NVDEC with Clang * General: Catch more expressions with no effect on MSVC * General: Make ignoring a discarded return value an error * common/stream: Be explicit with copy and move operators * vp9: Be explicit with copy and move operators * vp9: Mark functions with [[nodiscard]] where applicable * vp9: Provide a default initializer for "hidden" member * vp9: Make some member functions internally linked * async_shaders: Increase Async worker thread count for 8+ thread cpus * kernel/process: Add missing <ctime> include * web_service: follow-up fix to #4842 ... * Add hotplug, rumble and fix 3rd party adapters for the GC adapter * web_service: web_backend: Handle socket errors with GenericRequest. * video_core: cdma_pusher: Add missing LOG_DEBUG field in ExecuteCommand. * shader/arithmetic: Implement FCMP immediate + register variant * service: Update function tables * externals: Update inih to r52 * externals: Track mainline inih project * sync_manager: Amend parameter order of calls to SyncptIncr constructor * h264: Make WriteUe take a u32 * vp9: std::move buffer within ComposeFrameHeader() * vp9: Remove dead code * vp9: Join declarations with assignments * vp9: Remove pessimizing moves * vp9: Resolve variable shadowing * nvdec: Tidy up header includes * kernel: Use the current time as the default RNG seed * externals: Update fmt to 7.1.0 ------------------------------------------------------------------- Wed Oct 28 13:35:01 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0422: * "Merge Tagged PR 1340" * video_core: Enforce -Wredundant-move and -Wpessimizing-move * video_core: Enforce -Werror=type-limits * common/fiber: Take shared_ptr<Fiber> by copy in YieldTo * tests: Fix data race in fibers test * externals: auto detect system OpenSSL * web_backend: fix a regression introduced in 39c8d18 * hle/kernel: Remove unused registered_core_threads to fix data races ------------------------------------------------------------------- Tue Oct 27 17:28:05 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0421: * "Merge Tagged PR 1340" * yuzu: settings: Enable multicore, asynch GPU, and assembly shaders by default. * video_core: NVDEC Implementation * controller: Pass ControllerParameters by reference in ReconfigureControllers() * hle: services: TimeZoneContentManager: This can be made explicit. * core: cpu_manager: Add missing call to MicroProfileOnThreadExit(). ------------------------------------------------------------------- Mon Oct 26 17:16:58 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0420: * "Merge Tagged PR 1340" * general: Use template deduction guides for lock_guard * controller: Convert led_patterns integer literals to bool literals * applets/profile_select: Resolve a warning in exec() ------------------------------------------------------------------- Sat Oct 24 12:29:40 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0313: * "Merge Tagged PR 1340" * Don't ask for profile when there's only one. * sdl_impl: Fix controller reconnection issues * video_core: Fix instances where msbuild always regenerated host shaders ------------------------------------------------------------------- Fri Oct 23 23:31:32 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0417: * "Merge Tagged PR 1340" * service: time: Update current time with changes to RTC setting. ------------------------------------------------------------------- Thu Oct 22 12:57:23 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0416: * "Merge Tagged PR 1340" * core: Fix clang build pt.3 ------------------------------------------------------------------- Wed Oct 21 19:47:11 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0415: * "Merge Tagged PR 1340" * core: Fix clang build pt.2 * Revert "core: Fix clang build" * video_core: Conditially activate relevant compiler warnings * kernel: Fix build with recent compiler flag changes * configure_input_player: Fix modifier buttons * gl_arb_decompiler: Implement robust buffer operations * Added remaining params * nifm: GetAppletInfo stub * core: Fix clang build * sdl_impl: Erase the SDLJoystick entry after removing a controller ------------------------------------------------------------------- Wed Oct 21 02:01:07 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0414: * "Merge Tagged PR 1340" * core: Add boxcat sources with target_sources * kernel: Implement host thread register methods without locking * filesystem: Fix CreateDirectory and DeleteFile * vk_device: Use Vulkan 1.0 properly * renderer_vulkan: Create a Vulkan 1.0 instance when 1.1 is not available ------------------------------------------------------------------- Mon Oct 19 12:23:27 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0313: * "Merge Tagged PR 1340" * mii/manager: Make use of unused lower bound in GetRandomValue() * service: bcat: Check client connection before interacting with socket. * udp/client: Make use of designated initializers in TestCommunication() * udp/client: Take std::function by const reference with TestCommunication() * input_common/CMakeLists: Make some warnings errors * service: acc: Stub IManagerForApplication::StoreOpenContext. * hle: service: vi: Implement BufferQueue::CancelBuffer. * audio_core/CMakeLists: Make warnings consistent with core * core/CMakeLists: Make some warnings errors * vk_graphics_pipeline: Manage primitive topology as fixed state * hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace. * video_core: Enforce -Wclass-memaccess * vk_device: Block VK_EXT_extended_dynamic_state for RDNA devices * shader/texture: Implement CUBE texture type for TMML and fix arrays * renderer_vulkan/wrapper: Fix physical device sorting * Address comments * Add compatibility with only accelerometer and auto calibrate for drift * video_core: Enforce -Wunused-variable and -Wunused-but-set-variable * Only use inputs corresponding to controller type * Stubbed EnableSixAxisSensorFusion * caps_c: Stub SetShimLibraryVersion * caps_u: Stub SetShimLibraryVersion * caps_su: Properly stub SetShimLibraryVersion * hid: Stub HomeButtonInputProtection service commands * Reduce the "shake" requirements when configuring UDP. * Remove ext_extended_dynamic_state blacklist * common/wall_clock: Add virtual destructors * Update yuzu-patreon-step2.yml to set build timeout to 120 min * qt/game_list: Give GameListSearchField::KeyReleaseEater a parent * First implementation of controller rumble * CMakeLists: use system zstd on Linux * CMakeLists: fix for finding zstd on linux-mingw * main: Allow applets to display on top while fullscreen * core: Mark GetInstance() as deprecated * frontend/controller: Eliminate dependency on the global system instance * Add random motion input to keyboard * Add random motion input to SDL * command_generator: Make lookup table static constexpr * vk_stream_buffer: Fix initializing Vulkan with NVIDIA on Linux * behavior_info: Fix typo Renerer -> Renderer * cubeb_sink: Use static_cast instead of reinterpret_cast in DataCallback() * codec: Make lookup table static constexpr * audio_core: Remove unnecessary inclusions * audio_core: Resolve sign conversion warnings * effect_context: Make use of explicit where applicable * vk_command_pool: Move definition of Pool into the cpp file * vk_command_pool: Make use of override on destructor * vk_command_pool: Add missing header guard * service: Restore "unused" function * submission_package: Fix updates integrated into cartridge images. * arithmetic_integer_immediate: Make use of std::move where applicable * Use different timing for motion * shader/registry: Silence a -Wshadow warning * shader/registry: Remove unnecessary namespace qualifiers * shader/registry: Make use of designated initializers where applicable * memory: Resolve a -Wdocumentation warning * install_dialog: Make use of [[nodiscard]] where applicable * install_dialog: Remove unused function prototype * game_list: Make game list function naming consistent * game_list: Eliminate redundant argument copies * control_flow: emplace elements in place within TryQuery() * control_flow: Make use of std::move in InsertBranch() * General: Make use of std::nullopt where applicable * ips_layer: Eliminate a redundant copy in Parse() * acc: Stub LoadOpenContext * renderer_opengl: Remove emulated mailbox presentation * vk_query_cache: Hack counter destructor to avoid reserving queries * renderer_vulkan: Make unconditional use of VK_KHR_timeline_semaphore * Add automap feature for GC adapter * fermi_2d: Make use of designated initializers * hid: Implement Get/SetNpadHandheldActivationMode * configure_input_player: Fixes motion mapping using ConfigureButtonClick * am: Stub GetPreviousProgramIndex * configure_input_player: Re-add "Clear" context menu option * submission_package: Account for multi-content NSPs * decode/image: Eliminate switch fallthrough in DecodeImage() * decoder/texture: Eliminate narrowing conversion in GetTldCode() * audio_core/command_generator: Use const references where applicable * audio_core/command_generator: Avoid an unnecessary copy in GenerateFinalMixCommand() * nfp: Eliminate two unnecessary copies * arm_dynarmic_cp15: Initialize member variables * control_metadata: Resolve typo in Portuguese language name * service: Remove unused funcation * service/sm: Slightly more efficient string name validation * service/sm: Eliminate dependency on the global system instance * file_sys/romfs_factory: Eliminate usage of the global system accessor * file_sys/bis_factory: Eliminate usage of the global system accessor * loader/nso: Remove unnecessary [[maybe_unused]] * video_core: Enforce -Werror=switch * core/loader: Remove dependencies on the global system instance * nca_patch: Significantly reduce the stack usage size within SearchBucketEntry() * nca_patch: Make SearchBucketEntry() internally linked * cheat_engine: Convert ExtractName into a non-template function * cheat_engine: Remove unnecessary system argument to CheatParser's Parse function * patch_manager: Resolve implicit truncations in FormatTitleVersion() * patch_manager: Make use of type aliases * patch_manager: Make a few functions internally linked * gc_adapter: Disable MSVC nonstandard extension warning on libusb.h * crypto/key_manager: Remove dependency on the global system accessor * kernel: Remove all dependencies on the global system instance * Update translations (2020-09-11) * Remove bad and useless packages from LGTM build * Test: Decrease pad_update_ns * cmake: Update to Qt 5.12.8 * service: Remove two usages of the global system accessor * gc_adapter: Make DeviceConnected() a const member function * bsd: Resolve unused value within SendToImpl * bsd: Resolve sign comparison warnings * sockets_translate: Make use of designated initializers * blocking_worker: Make use of templated lambda * blocking_worker: Resolve -Wdocumentation warning * video_core: Remove all Core::System references in renderer * configure_input: Hook up the motion button and checkbox * Minor cleanup * Add cemu hook changes related to PR #4609 * Remove RealMotionDevice * configure_input_player: Show/hide motion buttons based on the controller * controllers/npad: Simplify motion entry assignment * Include HID and configuration changes related to motion * hid: Implement MergeSingleJoyasDualJoy * Resolve spacing inconsistencies in style.qrc/qss files * applets/controller: Resolve several compiler warnings * Address feedback * clang-format * applets/controller: Set min_players to have a minimum value of 1. * applets/controller: Modify heuristic to account for certain games * main: Apply settings after applet configuration is complete. * applets/controller: Implement fallback applet for the SDL frontend * applets/controller: Load configuration prior to setting up connections * applets/controller: Make 8 a static constexpr value of NUM_PLAYERS * applets/controller: Implement "Explain Text" * Project Mjölnir: Part 2 - Controller Applet * file_sys/patch_manager: Add missing include * externals: Work around libusb duplicate GUID errors * main: Use three dots to complete the ellipsis * input_common/motion_input: Make use of Common::PI constant * vk_device: Fix driver id check on AMD for VK_EXT_extended_dynamic_state * externals: Update Xbyak to 5.96 * Address second batch of reviews * configure_input_player: Resolve sign conversion warnings in UpdateMappingWithDefaults() * Reolve reorder warning * Address review comments and fix code compilation * bootmanager: Prevent unnecessary copies in TouchUpdateEvent() * game_list_p: Avoid string churn in GameListItemPath data() * game_list_p: Mark some constants as constexpr * yuzu: Add motion and touch configuration * yuzu/main: Amend lifetime issues with InputSubsystem * yuzu/configuration: Fix index out of bounds for default_analogs * sdl_impl: Reduce allocations in GetButtonMappingForDevice() * sdl_impl: Make use of std::move on std::string where applicable * sdl_impl: Make use of insert_or_assign() where applicable * sdl_impl: Prevent type truncation in BuildAnalogParamPackageForButton() default arguments * sdl_impl: Simplify make_tuple call * sdl_impl: Mark FromEvent() as a const member function * input_common/main: Remove unnecessary headers * input_common/main: Remove unimplemented prototype * vk_device: Blacklist AMD proprietary from VK_EXT_extended_dynamic_state * Add LGTM static analyzer config file * Fix orientation errors and improve drift correction * Address comments * Implement a basic class for motion devices * input_common: Eliminate most global state * input_common/main: Add "/Mouse" to the display name * memory_manager: Make use of [[nodiscard]] in the interface * memory_manager: Make operator+ const qualified * externals: Track upstream libusb * configure_input_player: Fix modifier scale button mapping * configuration/input: Add support for mouse button clicks * controllers/npad: Fix inconsistencies with controller connection statuses * controllers/npad: Fix LibNX controller connection statuses * controllers/npad: Fix LedPattern for P1-4 * input_common: Fix directional deadzone values * Address feedback * qt_themes: Fix Midnight Blue theme * Project Mjölnir: Part 1 * gc_poller: Resolve compilation warnings on MSVC * hle/scheduler: Fix data race in is_context_switch_pending * hle/kernel: Fix data race in GetCurrentHostThreadID * common/thread: Fix data race in is_set * externals/microprofile: Fix data race in g_bUseLock * cpu_interrupt_handler: Misc style changes * cpu_interrupt_handler: Make is_interrupted an atomic * externals: Untrack non-upstream variant of libusb * externals: Update Xbyak to 5.95 * common_funcs: Add missing XOR operators to DECLARE_ENUM_FLAG_OPERATORS * common/assert: Make use of C++ attribute syntax * async_shaders: Mark getters as const member functions * memory_manager: Mark IsGranularRange() as a const member function * gl_texture_cache: Take std::string by reference in DecorateViewName() * externals: Update xbyak to v5.941 * video_core/fence_manager: Remove unnecessary includes * microprofile: Don't memset through std::atomic types * video_core/host_shaders: Add CMake integration for string shaders * gl_shader_util: Use std::string_view instead of star pointer * fsp_srv: Resolve -Wunused-but-set-variable warning * file_sys: Replace inclusions with forward declarations where applicable * fsp_srv: Resolve -Wmaybe_uninitialized warning in OpenSaveDataFileSystem() * registered_cache: Make use of ends_with for string suffix checking * registered_cache: Make use of designated initializers * key_manager: Make data arrays constexpr * cpu_manager: Make use of ranged for where applicable * core_timing: Remove unused header * core_timing: Move clock initializer into constructor initializer list * core_timing: Resolve sign conversion warning * web_service: Move web_result.h into web_service * video_core: Initialize renderer with a GPU * vk_state_tracker: Fix primitive topology * Revert "common/time_zone: Simplify GetOsTimeZoneOffset()" * common/telemetry: Migrate namespace into the Common namespace * vfs_real: Resolve sign conversion warnings * vfs_real: Avoid redundant map lookups * common/color: Migrate code over to the Common namespace * common/concepts: Move <type_traits> include out of the Common namespace * Remove unneeded newlines, optional Registry in shader params * Morph: Update worker allocation comment * move thread 1/4 count computation into allocate workers method * Address feedback, add shader compile notifier, update setting text * Vk Async Worker directly emplace in cache * Address feedback. Bruteforce delete duplicates * Vk Async pipeline compilation * Preliminary effects * dynarmic: Add unsafe optimizations * configure_hotkeys: Don't translate empty strings * common/fileutil: Convert namespace to Common::FS * common: Silence two discarded result warnings * common/time_zone: Simplify GetOsTimeZoneOffset() * yuzu: Resolve -Wextra-semi warnings * main: Add an option to modify the currrent game's configuration * common/compression: Roll back std::span changes * common: Make use of [[nodiscard]] where applicable * configuration_shared: Simplify name lookup in highlighting functions * yuzu: Make use of qOverload where applicable * time_zone_content_manager: Collapse auto and default case * Disable biquad filter * CMakeLists: Update fmt to 7.0.3 * software_keyboard: Resolve a pessimizing move warning * core: Resolve several -Wextra-semi warnings * shader/memory: Amend UNIMPLEMENTED_IF_MSG without a message * macro-interpreter: Resolve -Wself-assign-field warning * vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties() * gl_shader_disk_cache: Make use of std::nullopt where applicable * async_shaders: Resolve -Wpessimizing-move warning * maxwell_3d: Resolve -Wextra-semi warning * Reworked ADPCM decoder to allow better streaming * emu_window: Mark Scoped constructor and Acquire() as nodiscard * kernel/scheduler: Mark SchedulerLock constructor as nodiscard * General: Tidy up clang-format warnings part 2 * gl_shader_cache: Use std::max() for determining num_workers * textures/decoders: Fix block linear to pitch copies * Remove UI changes * Add range slider functionality for gc adapter * undo unnecessary newlines, slider range 50-150 * Address c++20 warning, fix inaccurate range text display when slide == 0 * Add range slider for analog sticks * General: Tidy up clang-format warnings * common/concepts: Rename IsBaseOf to DerivedFrom * freezer: Move entry finding to its own function * freezer: Take address values by value * freezer: Make use of std::erase_if * cheat_engine: Resolve implicit bool->u64 conversion * cheat_engine: Make use of designated initializers * partition_data_manager: Update master key hashes * partition_data_manager: Make data arrays constexpr * partition_data_manager: Eliminate magic value * aes_util: Make use of non-template variant of Transcode * Fix thread naming on Linux, which limits names to 15 bytes. * common/virtual_buffer: drop unused includes * system_control: Make functions internally linked where applicable * kernel: Remove unused variables * scheduler: Resolve sign conversion warning * address_arbiter: Resolve sign conversion warning * ipc_helpers: Only allow trivially copyable objects with PushRaw() and PopRaw() * vfs_vector: Make creation of array vfs files less verbose * main: Fallback to loader if no control nca is found with patch manager * main: Fix Open Save/Mod Locations for installed titles * game_list_worker: Do not clear entries when > 1 gamedir is present * aes_util: Allow SetIV to be non-allocating * perf_stats: Make use of designated initializers * perf_stats: Mark GetMeanFrametime() as const * vulkan: Silence more -Wmissing-field-initializer warnings * yuzu: Resolve C++20 deprecation warnings related to lambda captures * service/ldr: Resolve sign mismatch warnings * CMakeLists: Resolve #4478 * tests/core_timing: Remove pragma optimize(off) * time_zone_binary: Make use of designated initializers * logging/backend: Make use of designated initializers * buffer_queue: Make use of std::nullopt * buffer_queue: Make use of designated initializers * profile_manager: Make use of std::nullopt * profile_manager: Make use of designated initializers * dmnt_cheat_vm: Make use of designated initializers * file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode * sm: Make use of IsBaseOf for GetService * patch_manager: Resolve -Wignored-qualifier warnings * registered_cache: Resolve -Wmaybe_uninitialized warnings * Place in anonymous namespace * loader: Make IdentifyFile typesafe * ci: Make use of clang-format 10.0 * mix buffer depopping * minor nits * am: Unstub SetScreenShotPermission * fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute * fs: Rename SaveDataDescriptor to SaveDataAttribute * adpcm streaming * game_list_worker: Fix game list subdirectory scanning * renderer_opengl: Use 1/4 of all threads for async shader compilation * common/atomic_ops: Don't cast away volatile from pointers * service/bsd: Handle Poll with no entries accurately * services/bsd: Implement most of bsd:s * service/sockets: Add worker pool abstraction * service/sockets: Add worker abstraction to execute blocking calls asynchronously * service/sockets: Add translate functions * service/sockets: Add enumerations and structures * services/nifm: Implement GetCurrentIpAddress * CMakeLists: Update boost to 1.73 * CMakeLists: Update catch to 2.13 * CMakeLists: Update zstd to 1.4.5 * CMakeFiles: Update json to 3.8.0 * Update src/core/hle/service/nvdrv/devices/nvmap.cpp * hle: nvdrv: Rewrite of GPU memory management. * Fix perf regression * lz4_compression: Make use of std::span in interfaces * zstd_compression: Make use of std::span in interfaces * Fix stream channel count when outputting to stereo * Address issues * Queue extra mix buffer * Disable time stretcher for time being * audio_core: Apollo Part 1, AudioRenderer refactor * vi: IApplicationDisplayService:GetIndirectLayerImageRequiredMemoryInfo * video_core: Remove redundant pixel format type * file_sys/nsp: Make SetTicketKeys actually do something * kernel/scheduler: Use std::mutex instead of spin lock * service: nvhost_vic: Ignore Submit commands. * nvdrv: Stub nvdec/vic ioctls to bypass nvdec movies ------------------------------------------------------------------- Mon Aug 03 13:47:47 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0335: * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465) * main: Add support for removing SDMC installed titles * xts_archive: Check if the file is nullptr prior to parsing * registered_cache: Add support for removing folder ncas * game_list: Limit context menu options for homebrew * main: Remove assert for opening savedata when program_id = 0 * main: Silence [[fallthrough]] warning * main: Split removal cases into their individual functions and address feedback * main: Connect game list remove signals to removal functions * game_list: Add "Remove" context menu * configure_graphics: Remove Force 30 FPS mode * device_memory: Remove unused system member * cpu_manager: Remove redundant std::function declarations * core_timing: Make use of uintptr_t to represent user_data * yuzu/main: Remove redundant usages of QStringLiteral("") * remove unused variable; * GCAdapter: only join worker thread if running & joinable * video_core/gpu: Correct the size of the puller registers * config: Make the save-as identifier more consistent * yuzu/configure_debug: Remove duplicated checkboxes * nvflinger: Mark interface functions with return values as [[nodiscard]] * nvflinger: Use return value of Lock() * common/string_util: Remove unimplemented function prototype (#4414) * qt_themes: Set background color to transparent for Dark and Midnight Blue themes * vulkan: Resolve -Wmissing-field-initializer warnings * udp/client: Remove unused boost include * gc_adapter: Resolve C++20 deprecation warning * gc_poller: Resolve -Wsign-compare warning * gc_poller: Resolve -Wredundant-move warning * virtual_buffer: Mark size parameter of FreeMemoryPages() as [[maybe_unused]] * network: add missing include for BSDs * surface_params: Make use of designated initializers where applicable * surface_params: Remove redundant assignment * surface_params: Replace questionable usages of the comma operator with semicolons * video_core: Remove unused variables * vk_rasterizer: Remove unused variable in Clear() * compatible_formats: Add missing header guard * video_core: Allow copy elision to take place where applicable * configure_ui: Ensure a separator follows the returned path * configure_ui: don't use an empty string * main: Don't use as many string copies * main: rewrite (save as) screenshot saving * configuration: Setup UI to config screenshot path and saving * common: Add a screenshots directory * buffer_cache: Eliminate redundant map lookup in MarkRegionAsWritten() * wait_tree: Include Midnight Blue dark themes * qt-themes: Add Midnight Blue qdarkstyle theme (2.8.1) * frontend: Match indeterminate checkbox state with light theme * Address issues * configure_graphics_advnaced: clang-format mk ii * configure_graphics_advanced: Fix oversight from rebase * configuration_shared: Remove unused functions * configuration: Use forward declares and remove extraneous structs * configuration_shared: Make CheckState strongly typed * clang-format * configuration_shared: Break up tracker structs to respective classes * configure_system: break instead of semicolon * clang-format * configure_system: Highlight labels on startup * configure_graphics: Fix layout in global config * configure_per_game: Improve style consistency * configure_system: Implement highlighted overrides * configuration_shared: Add default combobox setup function * configuration_shared: Use an int instead of a QString * configure_graphics_advanced: Implement highlighted overrides * configuration_shared: Switch back to background colors * configuration_shared: Better use global text * configure_audio: fix UI margins * configure_graphics: Implement highlighted overrides * configure_audio: Implement highlighted overrides * configuration_shared: Require name of the widget for highlighting * configuration_shared: Use a highlight instead of background color * configure_general: Implement manual tristate buttons * configuration_shared: Initial functions and data for manual tristate * Fix axis thresholding while polling * swkbd: Return result for Calc request for inlined swkbd * core/network: Add network abstraction * alignment: explicitly include <new> after 723edb4c0659 * Address issues * Address trivial review comments. * configure_ui: Address some review comments from the previous PR * yuzu: Port translation support from Citra * frontend: Improve wait tree readability for dark themes * gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders * Fix style issues * vk_device: Fix build error on old MSVC versions * std::size_t where appropriate, make error message more clear if can't read * alignment: Simplify AlignmentAllocator implementation * Drop settings namespace * Remove duplicate config * Use conditional var * Drop max workers from 8->2 for testing * Rebase for per game settings * async shaders * macro_hle: Remove unnecessary static keywords * core/CMakeLists: Add missing physical_memory.h header file * macro_hle: Simplify shift expression in HLE_771BB18C62444DA0() * macro_hle: Remove unnecessary std::make_pair calls * macro: Resolve missing parameter in doxygen comment * constants: Add missing <array> include * mii/manager: Resolve sign mismatch warnings * mii/manager: Make use of designated initializers * wrapper: Make use of designated initializers where applicable * vk_texture_cache: Make use of designated initializers where applicable * vk_texture_cache: Amend mismatched access masks and indices in UploadBuffer * vk_swapchain: Make use of designated initializers where applicable * vk_stream_buffer: Make use of designated initializers where applicable * vk_staging_buffer_pool: Make use of designated initializers where applicable * vk_shader_util: Make use of designated initializers where applicable * vk_scheduler: Make use of designated initializers where applicable * vk_sampler_cache: Make use of designated initializers where applicable * vk_resource_manager: Make use of designated initializers where applicable * vk_renderpass_cache: Make use of designated initializers where applicable * vk_rasterizer: Make use of designated initializers where applicable * vk_query_cache: Make use of designated initializers where applicable * vk_pipeline_cache: Make use of designated initializers where applicable * vk_memory_manager: Make use of designated initializers where applicable * vk_image: Make use of designated initializers where applicable * vk_descriptor_pool: Make use of designated initializers where applicable * vk_graphics_pipeline: Resolve narrowing warnings * vk_compute_pipeline: Make use of designated initializers where applicable * vk_compute_pass: Make use of designated initializers where applicable * vk_buffer_cache: Make use of designated initializers where applicable * decode/other: Implement S2R.LaneId * gl_arb_decompiler: Execute BAR even when inside control flow * renderer_{opengl,vulkan}: Clamp shared memory to host's limit * kernel/thread: Remove unimplemented function prototype * kernel: Remove unused variables * kernel: Add missing include * cpu_manager: Mark function getters as static * cpu_manager: Remove unused preemption_count variable * cpu_manager: Add missing includes * Refactor adapter code * hid: Only update keyboard & debug pad inputs if enabled * Check for empty section0 and CNMT prior to install * Add comment to clarify the nullptr check * filesystem: Create subdirectories prior to creating a file * core_timing: Remove unused data member * core_timing: Make TimedCallback take std::chrono::nanoseconds * core_timing: Make use of std::chrono with ScheduleEvent * settings: Resolve a sign conversion warning within GetTimeZoneString() * kernel/process: Move name and system context to the bottom of the member list * kernel/handle_table: Remove usages of the global system instance * settings: Make use of std::string_view over std::string for logging * kernel/thread: Remove global GetCurrentThread() * clang format * Use proper install result when overwriting files * Remove global system instance and address feedback * registered_cache: Remove previous update/dlc if it exists on install * clang-format * dmnt_cheat_vm: Implement opcode 0xC3 (ReadWriteStaticRegister) * common/swap: Make use of std::endian * shader_cache: Make use of std::erase_if * clang-format * settings: Move settings sanitization to its own function * Fix crash if gc configured but adapter not connected * main: Set async gpu properly after loading per-game setting * configure_general: Explicitly guard use_multi_core when applying settings * vk_device: Make use of designated initializers where applicable * input_common: drop unused libusb.h include * vk_graphics_pipeline: Make use of designated initializers where applicable * input_common: make libusb private to gc_adapter * memory_layout: Remove unused data member * address_space_info: Use type alias to simplify code * address_space_info: Make use of designated initializers * video_core: Rearrange pixel format names * video_core: Fix DXT4 and RGB565 * video_core/format_lookup_table: Add formats with existing PixelFormat * video_core: Fix B5G6R5_UNORM render target format * video_core: Fix B5G6R5U * video_core: Implement RGBA32_SINT render target * video_core: Implement RGBA32_SINT render target * video_core: Implement RGBA16_SINT render target * video_core: Implement RGBA8_SINT render target * video_core: Implement RG32_SINT render target * video_core: Implement RG8_SINT render target and fix RG8_UINT * video_core: Implement R8_SINT render target * video_core: Implement R8_SNORM render target * video_core/surface: Remove explicit values on PixelFormat's definition * video_core/surface: Reorder render target to pixel format switch * vk_blit_screen: Make use of designated initializers where applicable * vk_state_tracker: Fix dirty flags for stencil_enable on VK_EXT_extended_dynamic_state * CMakeLists: Enable usage of C++20 on Linux * CMakeLists: Correct boost asio disabling define name * CMakeLists: Disable concepts in boost asio * udp: Silence a C++20 deprecation warning * gc_poller: Mark GCButtonFactory::GetNextInput() as const * gc_poller: Get rid of undefined behavior in Create() * gc_poller: Silence sign conversion warnings * gc_adapter: Remove deprecated usage of = in lambda captures * gc_adapter: Silence sign conversion warnings * configure_cpu: Split optimization settings off into Debug tab * common/alignment: Fix compilation errors (#4303) * Fix Discord invite link * fs: Fix RomFS building when zero byte files are present * hle: service: mii: Rewrite service to properly support creation of random and default miis. * configure_cpu: Add tooltips * configure_cpu: Show/Hide debugging options * main/profile_select: Don't prompt for profile selection when only one is available * CMakeLists: Do not search for system libusb on macOS * configuration: Add settings to enable/disable specific CPU optimizations * CMakeLists: Make use of /std:c++latest on MSVC * vk_rasterizer: Pass <pSizes> to CmdBindVertexBuffers2EXT * Break out of scan loop if can't find adapter on first run * CMakeLists: Update fmt to 7.0.1 * video_core/textures: Add and use SwizzleSliceToVoxel, and minor style changes * CMakeLists: Use lower-case command names * vfs_real: Fix MoveFile * KeyManager: Prevent writing of invalid keys * Add additional empty check for the QStringList returned by the InstallDialog * Update the install and progress dialogs * Refactor batch installing files * Add support for batch install to NAND * bis_factory: Set User NAND free space to be 1 MiB less than total. * sdmc_factory: Set the SDMC total size to 1 TiB * bis_factory: Use hardware default NAND partition sizes * settings: Remove storage size options * cmake: Fix libfmt linking errors * cmake: Fix libusb builds breaking * configuration: implement per-game configurations (#4098) * vk_stream_buffer: set allocable_size to 9 MiB * cmake: fix fmt linking when found * cmake: pass libusb include directory as well * Address comments for better clarity/signed dev count * Add more libusb error checks * AM: fix GetDesiredLanguage: try to get a control metadata from application update when is failed to get from the basic version. * maxwell_dma: Rename registers to match official docs and reorder * cpu_interrupt_handler: Remove #pragma once from .cpp file * Address PR feedback, fix axis button thresholding * cmake: unbreak system libusb support * input_common/gcadapter: add missing C++11 header required by libc++ * Brace the code! Fix compile error due to class member construction order * Recalibrate reconnected controllers * Save origin state of GC controller analog features, compare against origin for input detection * change shortcut context for other hotkeys with file open dialog * GetDisplayVersion should return a null-terminated version string. also, in case of failed to get of the basic version, we will try get it from application update. * Revert inadvertent dynarmic update * Fix ss crash on game menu, fix ss on windowed mode * configure_graphics: Make use of qOverload in signals/slots * configure_graphics: Prevent unnecessary string copies in UpdateDeviceComboBox() * memory: Set page-table pointers before setting attribute = Memory * AM/ISelfController: Stub CreateManagedDisplaySeparableLayer * Fix for always firing triggers on some controllers, trigger threshold more universal * Address lioncash feedback: Log formatting, extern const PadButtonArray, little touch ups * Revert "cmake: fix fmt linking" * Fix unnecessary diffs * Add LR triggers as axes, half press to initiate a press, add GC axis id in config, clarify some code blocks for better readability * Rename two functions in NS * Rename GetApplicationArea2 to GetApplicationAreaSize * cmake: stop linking against QGL after c6a0ab979239 * shader_cache: Fix use-after-free and orphan invalidation cache entries * Reset adapter state on init, fixes errors relating driver hang from unexpected unplug * Don't handle cycles late if stretcher is active * audio: Improving audio timing for multicore/single core * externals: Track opus as submodule instead of using conan * key_manager: Correct casing of instance() * key_manager: Delete move operations * key_manager: Make use of canonical deleted operator= * common: switch to nullptr for sysctl's empty new value * Address feedback regarding increments, const vars, and general cleanup * fix implicit conversion of size_t type to int * maxwell_to_gl: Implement MirrorOnceClampOGL using GL_MIRROR_CLAMP_EXT * macro: Add support for "middle methods" on the code cache (#4112) * cmake: depend on WebEngine with system Qt * common: add sysconf() fallback * maxwell_to_gl: Rename VertexType() to VertexFormat() * cmake: fix fmt linking * Remove duplicate functions * Use decimal instead of hexadecimal * Fix typo * Clang-format * service: Update function tables * core_timing,scheduler: Use std::scoped_lock when possible * .github: add a new issue template * ldr: Cleanup NRO & NRR structs * maxwell_to_vk: Reorder vertex formats and add A2B10G10R10 for all types except float * am: Stub GetIndirectLayerConsumerHandle * maxwell_to_gl: Add 32 bit component sizes to (un)signed scaled formats * acc: ListOpenContextStoredUsers partial stub * Core/Common: Address Feedback. * NvFlinger: Clang Format. * Build System: Fix GCC & MINGW Build. * SVC: Implement 32-bits wrappers and update Dynarmic. * SVC: Add GetCurrentProcessorNumber32, CreateTransferMemory32, SetMemoryAttribute32 * ARM: Update Dynarmic and Setup A32 according to latest interface. * SVC: Add GetThreadPriority32 & SetThreadPriority32 * ArmDynarmic32: Setup CNTPCT correctly * Audio: Correct buffer release for host timing. * Common/Kernel: Corrections and small bug fixing. * Services/NvFlinger: Do vSync in a sepparate thread on Multicore. * Externals: Update Dynarmic. * Common/NativeClockx86: Reduce native clock accuracy further. * Tests/CoreTiming: Correct host timing tests. * ARMDynarmicInterface: Correct GCC Build Errors. * Common/AtomicOps: Correct GCC Intrinsic argument ordering. * Kernel: Correct Host Context on Threads and Scheduler. * YuzuQT: Hide Speed UI on Multicore. * Clang Format. * ARMInterface/Externals: Update dynarmic and fit to latest version. * ARMInterface: Correct rebase errors. * CoreTiming: Correct rebase bugs and other miscellaneous things. * Core: Split Microprofile Dynarmic timing per Core * General: Tune the priority of main emulation threads so they have higher priority than less important helper threads. * Dynarmic Interface: don't clear cache if JIT has not been created. * General: Correct rebase, sync gpu and context management. * CoreTiming/CycleTimer: Correct Idling. * SingleCore: Correct ticks reset to be on preemption. * General: Cleanup legacy code. * Kernel/svcBreak: Implement CacheInvalidation for Singlecore and correct svcBreak. * Bootmanager/CPU_Manager: Correct shader caches and sync GPU on OpenGL. * HLE_IPC: Correct HLE Event behavior on timeout. * SingleCore: Improve Cycle timing Behavior and replace mutex in global scheduler for spinlock. * FrameLimiting: Enable frame limiting for single core. * SingleCore: Use Cycle Timing instead of Host Timing. * Scheduler: Correct Reload/Unload * Thread: Release the ARM Interface on exitting. * General: Move ARM_Interface into Threads. * Core: Refactor ARM Interface. * X64 Clock: Reduce accuracy to be less or equal to guest accuracy. * ARM/WaitTree: Better track the CallStack for each thread. * SVC/ARM: Correct svcSendSyncRequest and cache ticks on arm interface. * SingleCore: Move Host Timing from a sepparate thread to main cpu thread. * GUI: Make multicore only work with Async and add GUI for multicore. * ARM: Addapt to new Exclusive Monitor Interface. * CPU_Manager: Correct stopping on SingleCore. * Scheduler: Correct yielding interaction with SetThreadActivity. * General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running. * General: Fix Stop function * Kernel: Rewind on SVC change. * Kernel: Preempt Single core on redudant yields. * CPU_Manager: Unload/Reload threads on preemption on SingleCore * Synchronization: Correct wide Assertion. * General: Initial Setup for Single Core. * Scheduler: Set last running time on thread. * Kernel: Corrections to TimeManager, Scheduler and Mutex. * Kernel: Fixes, corrections and asserts to scheduler and different svcs. * Scheduler: Correct yields. * Mutex: Revert workaround due to poor exclusive memory. * ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes. * SVC: WaitSynchronization add Termination Pending Result. * Scheduler: Remove arm_interface lock and a few corrections. * Yuzu/Debuggers: Correct Wait Tree for Paused threads. * SVC: Correct SetThreadActivity. * SCC: Small corrections to CancelSynchronization * Scheduler: Correct locking for hle threads. * Scheduler: Fix HLE Threads on guard * Scheduler: Protect on closed threads. * Scheduler: Correct assert. * Core: Correct rebase. * Scheduler: Release old thread fiber before trying to switch to the next thread fiber. * NVDRV: Remove frame limiting as Host Timing already takes care. * Mutex: Correct Result writting to clear exclusivity. * SVC: Correct svcWaitForAddress and svcSignalToAddress. * Scheduler: Correct Select Threads Step 2. * Kernel: Corrections to Scheduling. * Kernel: Correct Signal on Thread Death and Setup Sync Objects on Thread for Debugging * Core: Correct HLE Event Callbacks and other issues. * Process: Protect TLS region and Modules. * General: Add Asserts * General: Add better safety for JIT use. * SVC: Correct races on physical core switching. * NVFlinger: Lock race condition between CPU, Host Timing, VSync. * SVC: Add locks to the memory management. * SVC: Correct WaitSynchronization, WaitProcessWideKey, SignalProcessWideKey. * SVC: Cleanup old methods. * CPU_Manager: Reconfigre guest threads for dynamrmic downsides * SVC: Correct SendSyncRequest. * SVC: Correct ArbitrateUnlock * SVC: Correct SignalEvent, ClearEvent, ResetSignal, WaitSynchronization, CancelSynchronization, ArbitrateLock * SVC: Remove global HLE Lock. * SVC: Correct GetThreadPriority, SetThreadPriority, GetThreadCoreMask, SetThreadCoreMask, GetCurrentProcessorNumber * SVC: Correct CreateThread, StartThread, ExitThread, SleepThread. * HostTiming: Pause the hardware clock on pause. * AudioCore: Use nanoseconds instead of cycles for buffer time. * General: Setup yuzu threads' microprofile, naming and registry. * CPU_Manager: remove debugging code. * YuzuCMD/Tester: Correct execution * General: Recover Prometheus project from harddrive failure * nfc: Update function table * ncm: Update function table * mm: Update function table * mig: Update function table * ldn: Update function table * Oops (fix typo) * lbl: Update function table * grc: Update function table * friend: Update function table * Fix issues caused when changing the fullscreen hotkey * left const auto&, comment punctuation. * Update FAQ function name (2/2) * Update FAQ function name (1/2) * vk_rasterizer: Use nullptr for <pSizes> in CmdBindVertexBuffers2EXT * vk_pipeline_cache: Avoid hashing and comparing dynamic state when possible * vulkan/fixed_pipeline_state: Move state out of individual structures * vk_rasterizer: Use VK_EXT_extended_dynamic_state * renderer_vulkan/wrapper: Add VK_EXT_extended_dynamic_state functions * fixed_pipeline_state: Add requirements for VK_EXT_extended_dynamic_state * vk_device: Enable VK_EXT_extended_dynamic_state when available * texture_cache: Test format compatibility before copying * video_core/compatible_formats: Table to test if two formats are legal to view or copy * gl_buffer_cache: Copy to buffers created as STREAM_READ before downloading * Update function name again * Update function name (2/2) * Update function name (1/2) * Common: Fix non-conan build * const& to button in button array * Stop reading loop if error is encountered * Clang-format again * Clang-format * Remove unnecessary newline * Fix typo 2: electric boogaloo * Use QUrl (2/2) * Use QUrl (1/2) * Fix formatting * Fix typo * Add "Open Quickstart Guide" and "FAQ" buttons to the Help menu * gl_device: Enable NV_vertex_buffer_unified_memory on Turing devices * padbutton enum class and struct initiailization * prepo: : Don't read extra buffer from report unless passed * Move GetKeyCodeMapImpl to an anonymous namespace * Fixed logging output * Implement GetKeyCodeMap & GetKeyCodeMap2 * cleanup check access, read, and factory GetNextInput funcs. Use size rather than magic number * Fix deallocation of GC Adapter * Small quality of life indication that mapped button is GC * std::array and const reference passing of non-trivial objects * update libusb dependency * Update src/input_common/main.cpp * Reorder variables to comply with the Auzure build pipeline * renderer_vulkan: Update validation layer name and test before enabling * Tidy up the pointers, use pair over tuple where appropriate * fix for sleep using stl * shared_ptr for the GC adapter class, constexpr constants * std::arrays where appropriate, clear q in adapter class, other touch ups * fix include thread * Singleton GC Adapter class, remove globals, fix naming convention * Clang Formatting * Cleanup after linter * Add libusb dependency * GC Adapter Implementation * Tests/HostTiming: Correct GCC Compile error. * Common/Fiber: Address Feedback and Correct Memory leaks. * Common/Fiber: Implement Rewind on Boost Context. * Common/uint128: Correct MSVC Compilation in old versions. * Common/Fiber: Document fiber interexchange. * Common/Fiber: Implement Rewinding. * Common/Fiber: Additional corrections to f_context. * Common/Fiber: Correct f_context based Fibers. * Host Timing: Correct clang format. * HostTiming: Correct rebase and implement AddTicks. * Core/HostTiming: Allow events to be advanced manually. * Common/Tests: Address Feedback * Common: Make MinGW build use Windows Fibers instead of fcontext_t * Common/Tests: Clang Format. * Common: Correct fcontext fibers. * Common: Refactor & Document Wall clock. * Common: Implement WallClock Interface and implement a native clock for x64 * Tests: Add base tests to host timing * Core: Implement a Host Timer. * Common: Polish Fiber class, add comments, asserts and more tests. * Tests: Add tests for fibers and refactor/fix Fiber class * Common: Implement a basic Fiber class. * Common: Implement a basic SpinLock class * Move SHA256Hash to its original position * Remove unnecessary pragmas * Revert IsValidNRO refactor but make it more readable * Update assert string * Clang-format again * Use consistent variable names * Clang-format * Make assert strings consistent * Attempt to fix crashes in SSBU and refactor IsValidNRO * Add game versio to title bar * Address review comments * Add comment to nrr_kind * ldr: Update NRR/NRO structs * crypto: Make KeyManager a singleton class ------------------------------------------------------------------- Sat Jun 27 17:44:24 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0295: * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * Use better names for "Unknown"s * Update function names * btm: Give better names for unknown functions * btdrv: Update function table (#4174) * bpc: Update function tables (#4173) * bcat: Update function tables and add missing classes (#4172) * am: Update function tables and add missing classes (#4169) * aoc: Update function table (#4170) * eupld: Update function table * es: Update function table * btm: Update function tables * caps_u: Fix GetAlbumContentsFileListForApplication stub * caps: Use enum classes and check struct sizes on compile time * caps: Update copyright headers * Add a "Mute Audio" hotkey * gl_device: Fix IsASTCSupported * memory_manager: Remove useless assertion * hid: Stub a series of "SevenSixAxisSensor" service commands * Prevent nullptr dereference on swkbd error case * Mark invalid IPC buffers as ASSERT_OR_EXECUTE_MSG * buffer_cache: Use buffer methods instead of cache virtual methods * gl_stream_buffer: Use InvalidateBufferData instead unmap and map * gl_rasterizer: Use NV_vertex_buffer_unified_memory for vertex buffer robustness * gl_buffer_cache: Mark buffers as resident * gl_device: Expose NV_vertex_buffer_unified_memory except on Turing * gl_stream_buffer: Always use a non-coherent buffer * gl_stream_buffer: Always use persistent memory maps * addressed issues * clear mme draw mode * Addressed issues * Fix constbuffer for 0217920100488FF7 * Macro HLE support * gl_shader_cache: Avoid use after move for program size * yuzu_tester: Silence type conversion warning * lm: Silence no return value warning * shader/half_set: Implement HSET2_IMM * account: Update function tables and add missing classes (#4145) * TextureCache: Fix case where layer goes off bound. * arm_dynarmic_64: Log the instruction when an exception is raised * arm_dynarmic_32: Log under Core_ARM instead of HW_GPU * hid: Implement Get/ResetGyroscopeZeroDriftMode * Correct function name (2/2) * Correct function name (1/2) * Clang-format * Remove unnecessary conversion * Address review comment by Lioncash * Add a "Open Mods Page" button to the GUI * gl_shader_decompiler: Enable GL_EXT_texture_shadow_lod if available * gl_device: Check for GL_EXT_texture_shadow_lod * Update manifest file to include new elements that are introduced with Windows 10 later versions * Fix: fatal error CVT1100 when compiling manifest file * macro_jit_x64: Use ecx for shift register * texture_cache: Fix incorrect address used in a DeduceSurface() call * software_keyboard: Eliminate trivial redundant copies * main: Append AVX and FMA instructions to cpu string * common/telemetry: Add AVX512 to telemetry * common/cpu_detect: Add AVX512 detection * decode/image: Implement B10G11R11F * gl_arb_decompiler: Avoid several string copies * vulkan/wrapper: Remove noexcept from GetSurfaceCapabilitiesKHR() * macro_jit_x64: Correct readability of Compile_ExtractShiftLeftImmediate() * macro_jit_x64: Correct readability of Compile_ExtractShiftLeftRegister() * macro_jit_x64: Remove unused variable * memory_manager: Eliminate variable shadowing * Add translation of "Current Boxcat Events" * macro_jit_x64: Eliminate variable shadowing in Compile_ProcessResult() * buffer_cache: Eliminate local variable shadowing * input_common/motion_emu: Remove redundant move * input_common/keyboard: Remove redundant move * mii_model: Remove redundant std::move * Fix compilation when not building with boxcat * macro_jit_x64: Remove unused function Read * vk_rasterizer: Don't preserve contents on full screen clears * vk_update_descriptor: Upload descriptor sets data directly * arm_dynarmic_32: Fix implicit conversion error in SetTPIDR_EL0 * bootmanager: Remove references to OpenGL for macOS * memory_manager: Explicitly specifcy std::min<size_t> * shared_font: Service::NS::EncryptSharedFont takes a size_t& * vk_rasterizer: BindTransformFeedbackBuffersEXT accepts a size of type VkDeviceSize * renderer_vulkan: Fix macOS GetBundleDirectory reference * memory_util: boost hashes are size_t * Rename PAGE_SHIFT to PAGE_BITS * vk_sampler_cache: Emulate GL_LINEAR/NEAREST minification filters * maxwell_to_vk: Reorder filter cases and correct mipmap_filter=None * maxwell_to_gl: Miscellaneous changes * macro_jit_x64: Inline Engines::Maxwell3D::GetRegisterValue * arm_dynarmic_cp15: Implement CNTPCT * arm_dynarmic_cp15: Update CP15 * arm_dynarmic_32: InterpreterFallback should never happen * macro_jit_x64: Optimization implicitly assumes same destination * macro_jit_x64: Should not skip zero registers for certain ALU ops * Fix framebuffer size on fractional scaling display. * externals: Revert to libressl, as build is broken with find_package(OpenSSL). (#4093) * gl_device: Reserve at least 4 image bindings for fragment stage * CMakeLists: xbyak comes before dynarmic * macro_jit_x64: Remove NEXT_PARAMETER * macro_jit_x64: Remove unused function Compile_WriteCarry * macro_jit_x64: Select better registers * macro_jit_x64: Remove REGISTERS * macro_jit_x64: Remove JITState::parameters * macro_jit_x64: Remove METHOD_ADDRESS_64 * macro_jit_x64: Remove RESULT_64 * xbyak_abi: Prefer returning a struct to using out parameters in ABI_CalculateFrameSize * xbyak_abi: Register indexes should be unsigned * xbyak_abi: Remove *GPS variants of stack manipulation functions * xbyak_abi: Fix ABI_PushRegistersAndAdjustStack * video_core/macro_jit_x64: Remove initializer in member variable * audren: Implement RendererInfo * gl_arb_decompiler: Implement FSwizzleAdd * gl_arb_decompiler: Implement an assembly shader decompiler * yuzu/configuration: Show assembly shaders check box * nvdrv: Fix GetTPCMasks for ioctl3 * kernel: Account for system resource size for memory usage * buffer_cache: Avoid passing references of shared pointers and misc style changes * gl_rasterizer: Mark vertex buffers as dirty after buffer cache invalidation * buffer_cache: Return stream buffer invalidation in Map instead of Unmap * texture_cache: Port original code management for 2D vs 3D textures * texture_cache: Simplify blit code * texture_cache: Handle 3D texture blits with one layer * texture_cache: Implement rendering to 3D textures * rasterizer_cache: Remove files and includes * vk_pipeline_cache: Use generic shader cache * gl_shader_cache: Use generic shader cache * shader_cache: Implement a generic shader cache * yuzu/frontend: Remove internal resolution option * gl_device: Black list NVIDIA 443.24 for fast buffer uploads * renderer_opengl: Only enable DEBUG_OUTPUT when graphics debugging is enabled * shader/texture: Join separate image and sampler pairs offline * shader/track: Move bindless tracking to a separate function * Downgrade "handle not signaled" error to trace * Default init labels and use initializer list for macro engine * gl_rasterizer: Use NV_transform_feedback for XFB on assembly shaders * Mark parameters as const * Actually save the input when clearing/resetting to default * Pass by reference instead of copying parameters * vk_shader_decompiler: Implement atomic image operations * vk_rasterizer: Implement storage texels * maxwell_to_vk: Add R16UI image format * gl_shader_decompiler: Declare gl_Layer and gl_ViewportIndex within gl_PerVertex for vertex and tessellation shaders * gl_shader_decompiler: Fix geometry shader outputs for Intel drivers * Clang-format * hid: Stub GetXpadIDs * gl_device: Avoid devices with CAVEAT_SUPPORT on ASTC * glsl: Squash constant buffers into a single SSBO when we hit the limit * Update CMakeLists.txt * Update CMakeLists.txt * gl_device: Enable compute shaders for Intel proprietary drivers * shader/other: Fix hardcoded value in S2R INVOCATION_INFO * texture_cache: More relaxed reconstruction * Favor switch case over jump table * Implement macro JIT * Add xbyak external * texture_cache: Only copy textures that were modified from host * texture_cache: Reload textures when number of resources mismatch * vk_rasterizer: Skip transform feedbacks when extension is unavailable * texture_cache: Handle overlaps with multiple subresources * kernel: ResourceLimit::Reserve remove useless while loop * maxwell_3d: Reduce severity of logs that can be spammed * format_lookup_table: Implement G24S8 format as S8Z24 * Make copying directory string more concise * Address requested changes * *nix systems can read any-case patch directories * buffer_cache: Avoid copying twice on certain cases * texture_cache: Use unordered_map::find instead of operator[] on hot code * texture_cache: Use small vector for surface vectors * maxwell_3d: Initialize line widths * maxwell_3d: Initialize polygon modes * Fix macOS code and change "Swapfile" to "Swap" * shader/other: Implement MEMBAR.CTS * texture_cache: Fix layered null surfaces * gl_texture_cache: Implement small texture view cache for swizzles * texture_cache: Implement depth stencil texture swizzles * gl_rasterizer: Port front face flip check from Vulkan * fixed_pipeline_state: Remove unnecessary check for front faces flip * gl_shader_manager: Unbind GLSL program when binding a host pipeline * yuzu/discord_impl: Update the applicationID (#3977) * shader/other: Implement BAR.SYNC 0x0 * shader/memory: Implement non-addition operations in RED * shader/other: Implement thread comparisons (NV_shader_thread_group) * shader_decompiler: Visit source nodes even when they assign to RZ * vk_shader_decompiler: Don't assert for void returns * qt_themes: remove unknown qss property from dark theme * buffer_cache: Remove unused boost headers * map_interval: Add interval allocator and drop hack * buffer_cache: Use boost::container::small_vector for maps in range * buffer_cache: Use boost::intrusive::set for caching * buffer_cache: Remove shared pointers * buffer_cache: Minor style changes * clang-format * nifm: correct assert in CreateTemporaryNetworkProfile * renderer_opengl: Add assembly program code paths * yuzu: Add frontend settings for assembly shaders * maxwell_to_vk: Add format B8G8R8A8_SRGB * OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled. * main: Log host system memory parameters * file_sys: Update SystemVersion archive to version 10.0.2 * nv_flinger: Use enum for pixel format instead of u32 * DmaPusher: Remove dead code in step * vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior * frontend: Set minimum window size to 640x360 instead of 1280x720 (#3413) * vk_rasterizer: Implement constant attributes * vk_rasterizer: Remove buffer check in attribute selection * time_zone: Use std::chrono::seconds for strong typing. * Frontend: Remove tracking for context wrapper * hid: Clear keyboard states & fix logic issue * hle: service: time_zone_manager: Use current time zone setting. * common: Add module to get the current time zone. * core: settings: Add a setting for time zone. * fix logic error & scale sample volume based on voice volume * pass by const ref instead * audio_renderer: Better voice mixing and 6 channel downmixing * service: fsp_srv: Stub implementation of OpenMultiCommitManager. * yuzu: game_list: Fix 'Open Save Data Location' for device saves. * file_sys: savefata_factory: Update to support DeviceSaveData. * file_sys: control_metadata: Expose device_save_data_size. * Stub SendKeyboardLockKeyEvent * gl_shader_decompiler: Properly emulate NaN behaviour on NE * RasterizerCache: Correct documentation. * VkPipelineCache: Use a null shader on invalid address. * VideoCore: Use SyncGuestMemory mechanism for Shader/Pipeline Cache invalidation. * Mark the opus version check as broken. * Add version check to Findnlohmann_json.cmake * Add version check for catch2 * Add version check to Findfmt * Fix libzip version check * Check for the zstd version * shader_ir: Separate float-point comparisons in ordered and unordered * CI: Don't check clang format on early access builds * Replace externals with Conan (#3735) * Menubar: fix mouse tracking bug * Update src/video_core/gpu.cpp * Update src/video_core/gpu.cpp * vk_sampler_cache: Use VK_EXT_custom_border_color when available * vk_graphics_pipeline: Implement viewport swizzles with NV_viewport_swizzle * gl_rasterizer: Implement viewport swizzles with NV_viewport_swizzle * maxwell_3d: Add viewport swizzles * externals: Update Vulkan-Headers * kernel/memory: Remove #pragma once within cpp file * kernel/memory: Remove unused includes * kernel/memory: Remove unused variables in memory_block_manager * kernel/memory: Make use of std::array consistently in address_space_info * kernel/memory: Resolve -Wshadow warnings * kernel/memory: Amend potential encoding warnings * hle_ipc: Eliminate core memory globals * settings: Add anisotropic filtering level to the yuzu configuration log (#3875) * Re-enables building yuzu with Vulkan enabled via the CI scripts * Update src/core/hle/service/am/am.cpp * input_common: fix build when SDL2 is disabled * readable_event: Remove unnecessary semicolon in Signal() * vk_graphics_pipeline: Implement rasterizer_enable on Vulkan * Make compatible with the current MinGW cross-compiler * fixed_pipeline_state: explicitly use template keyword after 1f345ebe3a55 * nvdrv: Fix GetGpuTime stack corruption * am: IHomeMenuFunctions:GetPopFromGeneralChannelEvent * maxwell_to_vk: implement missing signed int formats * caps:su Stub out SetShimLibraryVersion * texture: Implement R8G8UI * fs-srv: GetFreeSpaceSize & GetTotalSpaceSize * nim: CreateServerInterface, CreateAccessorInterface, CreateAsyncInterface * caps: Add missing service names to caps:su * am: GetFriendInvitationStorageChannelEvent * externals: Update cubeb to 616d773 * externals: Update dynarmic to e7166e8b * psm: Mark as debug instead of warning * am: Properly implement GetDisplayVersion * am: IsVrModeEnabled & SetVrModeEnabled fixes * acc: Return a unique value per account for GetAccountId * acc: Fix InitializeApplicationInfo * kernel: Don't fail silently * vulkan: Remove unnecessary includes * Don't fail silently for vi, sm, set and ns services * shader/arithmetic_integer: Fix tracking issue in temporary * Clang Format and Documentation. * MaxwellDMA: Optimize micro copies. * kernel: Bad GetInfo ids should not be marked as stubs * Updated comment to reflect ListQualifiedUsers better * style: Change AMs & Glues error codes to be dec instead of hex * marked stubs * account: ListQualifiedUsers * Audin:u ListAudioIns, OpenAudioIn, ListAudioInsAuto, OpenAudioInAuto, ListAudioInsAutoFiltered, OpenAudioInProtocolSpecified * vk_rasterizer: Skip index buffer setup when vertices are zero * {maxwell_3d,buffer_cache}: Implement memory barriers using 3D registers * VideoCore/GPU: Delegate subchannel engines to the dma pusher. * VideoCore/Engines: Refactor Engines CallMethod. * maxwell_3d: Fix depth clamping register * texture_cache: Reintroduce preserve_contents accurately * shader/memory_util: Deduplicate code * shader/arithmetic_integer: Fix edge case and mark IADD.X Rd.CC as unimplemented * shader/arithmetic_integer: Change IAdd to UAdd to avoid signed overflow * shader/arithmetic_integer: Implement IADD.X * shader/arithmetic_integer: Implement CC for IADD * decode/register_set_predicate: Implement CC * decode/register_set_predicate: Use move for shared pointers * services: hid: Stub StopSevenSixAxisSensor. * Fix the mistake in the port and update the comment for clarity * vk_rasterizer: Pack texceptions and color formats on invalid formats * Add Restore Defaults and Clear options to hotkeys * Revert: shader_decode: Fix LD, LDG when track constant buffer. * Fix -Wdeprecated-copy warning. * Fix -Werror=conversion error. * vi: Don't let uninitialized data pass as a response for SetBufferCount * physical_core: Make use of std::make_unique instead of std::make_shared in ctor * shared_memory: Amend doxygen reference * svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory * svc: Remove unused variable * page_table: Remove unused captures * decode/arithmetic_half: Fix HADD2 and HMUL2 absolute and negation bits * shader/texture: Support multiple unknown sampler properties * shader_ir: Turn classes into data structures * vk_rasterizer: Fix framebuffer creation validation errors * vk_pipeline_cache: Unify pipeline cache keys into a single operation * vk_renderpass_cache: Pack renderpass cache key to 12 bytes * Fixed packaging on some systems with different QT5 path * kernel: memory: Improve implementation of device shared memory. (#3707) * Clang Format. * GPU: Add Fast GPU Time Option. * Maxwell3D: Process Macros on MultiMethod. * DMAPusher: Propagate multimethod writes into the engines. * Update src/yuzu/main.cpp with missing const * Dump RomFS command to include Updates * Edit modifier_scale with the deadzone slider * Fix format error in performance statistics * vk_pipeline_cache: Fix unintentional memcpy into optional * GL_Fence_Manager: use GL_TIMEOUT_IGNORED instead of a loop, * Add missing ; * Address Feedback. * Async GPU: Correct flushing behavior to be similar to old async GPU behavior. * MaxwellDMA: Correct copying on accuracy level. * ShaderCache/PipelineCache: Cache null shaders. * Address Feedback. * Fix GCC error. * Correct Linux Compile Error. * Clang format. * QueryCache: Only do async flushes on async gpu. * Async GPU: Only do reactive flushing on Extreme Level. * vk_fence_manager: Initial implementation * QueryCache: Implement Async Flushes. * OpenGL: Guarantee writes to Buffers. * GPU: Implement Flush Requests for Async mode. * FenceManager: Manage syncpoints and rename fences to semaphores. * BufferCache: Refactor async managing. * FenceManager: Implement async buffer cache flushes on High settings * Rasterizer: Document SignalFence & ReleaseFences and setup skeletons on Vulkan. * GPU: Fix rebase errors. * Rasterizer: Disable fence managing in synchronous gpu. * ThreadManager: Sync async reads on accurate gpu. * FenceManager: Implement should wait. * GPU: Implement a Fence Manager. * OpenGL: Implement Fencing backend. * TextureCache: Flush linear textures after finishing rendering. * GPU: Delay Fences. * BufferCache: Implement OnCPUWrite and SyncGuestHost * GPU: Refactor synchronization on Async GPU * Texture Cache: Implement OnCPUWrite and SyncGuestHost * UI: Replasce accurate GPU option for GPU Accuracy Level * Add a trailing separator to the string path * Set _FORTIFY_SOURCE=0 if building Opus with mingw-w64 * Init SDL info structure and add dummy context * vk_memory_manager: Remove unified memory model flag * vk_rasterizer: Add lazy default buffer maker and use it for empty buffers * gl_rasterizer: Fix buffers without size * audio_renderer: Preliminary BehaviorInfo (#3736) * shader/arithmetic_integer: Fix LEA_IMM encoding * loader: nro: Fix process initialization using ProgramMetadata default. * loader: elf: Fix process initialization using ProgramMetadata default. * file_sys: program_metadata: Add a helper function for generating reasonable default metadata. * service: Update function tables * npad: Lower log level for VibrateController to Debug * audren: Lower log level for RequestUpdateImpl to Debug * dynarmic: Add option to disable CPU JIT optimizations * yuzu: Option to hide mouse on inactivity * Initialize quad_indexed_pass before uint8_pass * service/time: Remove reliance on the global system accessor * dma_pusher: Remove reliance on the global system instance * thread: FPCR.FZ is likely not 1 * core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page. * renderer_vulkan: assume X11 if not Windows/macOS after bf1d66b7c074 * vulkan/wrapper: Sort physical devices * cmake: Silence -Werror=implicit-fallthrough in SDL2 headers * fixed_pipeline_state: Hash and compare the whole structure * fixed_pipeline_state: Pack blending state * fixed_pipeline_state: Pack rasterizer state * fixed_pipeline_state: Pack depth stencil state * fixed_pipeline_state: Pack attribute state * video_core: gl_shader_decompiler: Fix implicit fallthrough errors. * service: hid: npad: Fix implicit fallthrough errors. * gl_shader_decompiler: Avoid copies where applicable * time/system_clock_core: Remove unnecessary initializer * service/time: Mark IsStandardNetworkSystemClockAccuracySufficient as const * service/time: Add virtual destructors where applicable * service: Remove unused RequestParser instances * memory/slab_heap: Make use of static_cast over reinterpret_cast * loader/nso: Resolve moves not occurring in DecompressSegment * am: Resolve ineffective moves * video_code: Fix implicit switch fallthrough. * externals: Update fmt to 6.2.0 * vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers * Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL" * core: hle: Address various feedback & code cleanup. * core: device_memory: Remove incorrect usage of constexpr. * memory: Add copyright notice for Atmosphere where applicable. * kernel: Remove old VMManager class. * loader: nso: Fix loader size and arguments. * loader: elf/kip/nro: Updates for new VMM. * service: ldr: Updates for new VMM. * kernel: memory: page_table: Simplify GetPhysicalAddr impl. * kernel: svc: Updates for new VMM. * core: memory: Fix memory access on page boundaries. * video_core: memory_manager: Updates for Common::PageTable changes. * core: memory: Updates for new VMM. * common: page_table: Update to use VirtualBuffer and simplify. * core: gdbstub: Updates for new VMM. * core: reporter: Updates for new VMM. * memory: cheat_engine: Updates for new VMM. * arm_test_common: Updates for new VMM. * kernel: process: Updates for new VMM. * service: pl_u: Update for new shared memory layout. * service: time: Update for new shared memory layout. * service: hid: Update for new shared memory layout. * service: irs: Update for new shared memory layout. * kernel: resource_limit: Reserve physical memory. * kernel: Initialize memory layout for new VMM. * core: system: Rename GetDeviceManager -> DeviceManager. * kernel: transfer_memory: Refactor for new VMM. * core: Construct/Destruct DeviceMemory on Init/Shutdown. * kernel: shared_memory: Refactor for new VMM. * core: device_memory: Update to use VirtualBuffer class. * common: Add VirtualBuffer class, to abstract memory virtualization. * kernel: errors: Add ERR_OUT_OF_RESOURCES. * kernel: process_capability: Update to use Memory::PageTable. * kernel: memory: Add PageTable class, to manage process address space. * kernel: memory: Add MemoryLayout class, to build physical memory layout. * kernel: memory: Add MemoryManager class, to manage page heaps. * kernel: memory: Add MemoryBlockManager class, to manage memory blocks. * kernel: memory: Add PageHeap class, to manage a heap of pages. * kernel: memory: Add PageLinkedList class, to manage a list of pages. * kernel: memory: Add system_control code, which will be used for ASLR support. * physical_memory: Add missing include for <vector>. * kernel: memory: Add MemoryBlock class, for managing memory blocks and their state. * kernel: memory: Add memory_types.h, for things that are commonly used in memory code. * kernel: memory: Add SlabHeap class, for managing memory heaps. * kernel: memory: Add AddressSpaceInfo class, for managing the memory address space. * core: device_manager: Add a simple class to manage device RAM. * dynarmic: Enable strict alignment checks. * common: scope_exit: Implement mechanism for canceling a scope exit. * core: memory: Move to Core::Memory namespace. * common: alignment: Add a helper function for generic alignment checking. * core: kernel: Add svc_types header to include SVC-specific types. * core: kernel: Move SVC to its own namesapce. * externals: Update to latest dynarmic. * kernel: resource_limit: Improvements to implementation. * loader: nso: Fix loading of static objects to be properly sized and aligned. * common: common_funcs: Add a macro for defining enum flag operators. * process: SetupMainThread: Zero out argument on process start. * arm_interface: Ensure ThreadContext is zero'd out. * CMakeLists: Make missing declarations a compile-time error * General: Resolve warnings related to missing declarations * gdbstub: Fix some gdbstub jankiness * key_manager: Resolve missing field initializer warning * decode/memory: Resolve unused variable warning * decode/texture: Resolve unused variable warnings. * decode/texture: Collapse loop down into std::generate * decode/texture: Eliminate trivial missing field initializer warnings * time_zone_manager: Resolve sign conversion warnings * CMakeLists: Enable -Wmissing-declarations on Linux builds * hle_ipc: Remove std::size_t casts where applicable * maxwell_3d: Initialize format attributes constant as one * vk_compute_pass: Implement indexed quads * externals: Use shared libraries if possible * externals: Move LibreSSL linking to httplib. * input_common: Use the CMake target instead of the variable. * buffer_cache: Return handles instead of pointer to handles * decode/shift: Remove unused variable within Shift() * surface_view: Add missing operator!= to ViewParams * surface_base: Make IsInside() a const member function * texture_cache/format_lookup_table: Fix incorrect green, blue, and alpha indices * control_flow: Make use of std::move in TryInspectAddress() * video_core: Amend doxygen comment references * gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator * gl_device: Mark stage_swizzle as constexpr * track: Eliminate redundant copies * CMakeLists: Specify -Wextra on linux builds * file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero * CMakeLists: Make -Wreorder a compile-time error * kernel/thread: Resolve -Wswitch warnings * Texture Cache: Read current data when flushing a 3D segment. * maxwell_to_vk: Add uint16 vertex formats * maxwell_to_vk: Add missing breaks * vk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfo * Texture Cache: Only do buffer copies on accurate GPU. (#3634) * service: time: Implement CalculateStandardUserSystemClockDifferenceByUser. * Revert "gl_shader_decompiler: Implement merges with bitfieldInsert" * shader/arithmetic: Add FCMP_CR variant * gl_rasterizer: Implement constant vertex attributes * file_sys: patch_manager: Return early when there are no layers to apply. * service: friend: Stub IFriendService::GetBlockedUserListIds. * vk_rasterizer: Default to 1 viewports with a size of 0 * gl_shader_cache: Use CompileDepth::FullDecompile on GLSL * renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows * yuzu/main: Add better popup texts and remove duplicated actions * gl_texture_cache: Fix layered texture attachment base level * renderer_vulkan: Remove Nvidia checkpoints * renderer_vulkan: Catch device losses in more places * gl_rasterizer: Implement line widths and smooth lines * gl_shader_decompiler: Implement merges with bitfieldInsert * gl_shader_decompiler: Improve generated code in HMergeH* * shader/video: Partially implement VMNMX * video_core: Add MSAA registers in 3D engine and TIC * texture_cache: Remove preserve_contents * renderer_vulkan: Drop Vulkan-Hpp * Buffer queue: Correct behavior of free buffer. * service/vi: Partially implement BufferQueue disconnect * shader/texture: Remove type mismatches management from shader decoder * astc: Hard code bit depth changes to 8 and use fast replicate * common/file_util: Allow access to files on network shares * astc: Use boost's static_vector to avoid heap allocations * astc: Implement a fast precompiled alternative for Replicate * astc: Move Replicate to a constexpr LUT when possible * astc: Make InputBitStream constexpr * astc: OutputBitStream style changes and make it constexpr * gl_texture_cache: Attach view instead of base texture for layered attachments * VkRasterizer: Eliminate Legacy code. * Memory: Correct GCC errors. * Memory: Address Feedback. * GPUMemoryManager: Improve safety of memory reads. * qt/bootmanager: Remove unnecessary glBindFramebuffer * video_core/textures: Move GetMaxAnisotropy to cpp file * video_core/texture: Use a LUT to convert sRGB texture borders * yuzu: Drop SDL2 and Qt frontend Vulkan requirements * renderer_vulkan: Query device names from the backend * common/dynamic_library: Import and adapt helper from Dolphin * shader/conversion: Implement I2I sign extension, saturation and selection * Clang Format. * Shader/Pipeline Cache: Use VAddr instead of physical memory for addressing. * Query Cache: Use VAddr instead of physical memory for adressing. * Buffer Cache: Use vAddr instead of physical memory. * Texture Cache: Use vAddr instead of physical memory for caching. * GPU: Setup Flush/Invalidate to use VAddr instead of CacheAddr * shader/memory: Implement RED.E.ADD * shader/memory: Add "using std::move" * shader/memory: Minor fixes in ATOM * yuzu: Fixes to game list sorting * yuzu/configuration: Only assert that all buttons exist when we are handling the click for a button device * yuzu/configure_input_simple: Fix "Docked Joycons" controller profile * shader_bytecode: Fix I2I_IMM encoding ------------------------------------------------------------------- Sun May 03 20:28:33 UTC 2020 - obs-service-tar-scm@invalid - Update to version mainline0243: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 3345" * "Merge Tagged PR 3665" * "Merge Tagged PR 3757" * externals: Update dynarmic to e7166e8b * Don't fail silently for vi, sm, set and ns services * kernel: Bad GetInfo ids should not be marked as stubs * style: Change AMs & Glues error codes to be dec instead of hex * shader/memory_util: Deduplicate code * services: hid: Stub StopSevenSixAxisSensor. * Fix the mistake in the port and update the comment for clarity * vk_rasterizer: Pack texceptions and color formats on invalid formats * Add Restore Defaults and Clear options to hotkeys * Fix -Wdeprecated-copy warning. * Fix -Werror=conversion error. * vi: Don't let uninitialized data pass as a response for SetBufferCount * physical_core: Make use of std::make_unique instead of std::make_shared in ctor * shared_memory: Amend doxygen reference * svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory * svc: Remove unused variable * page_table: Remove unused captures * decode/arithmetic_half: Fix HADD2 and HMUL2 absolute and negation bits * vk_rasterizer: Fix framebuffer creation validation errors * vk_pipeline_cache: Unify pipeline cache keys into a single operation * vk_renderpass_cache: Pack renderpass cache key to 12 bytes * kernel: memory: Improve implementation of device shared memory. (#3707) * Clang Format. * GPU: Add Fast GPU Time Option. * Maxwell3D: Process Macros on MultiMethod. * DMAPusher: Propagate multimethod writes into the engines. * Update src/yuzu/main.cpp with missing const * Dump RomFS command to include Updates * Edit modifier_scale with the deadzone slider * Fix format error in performance statistics * vk_pipeline_cache: Fix unintentional memcpy into optional * GL_Fence_Manager: use GL_TIMEOUT_IGNORED instead of a loop, * Add missing ; * Address Feedback. * Async GPU: Correct flushing behavior to be similar to old async GPU behavior. * MaxwellDMA: Correct copying on accuracy level. * ShaderCache/PipelineCache: Cache null shaders. * Address Feedback. * Fix GCC error. * Correct Linux Compile Error. * Clang format. * QueryCache: Only do async flushes on async gpu. * Async GPU: Only do reactive flushing on Extreme Level. * vk_fence_manager: Initial implementation * QueryCache: Implement Async Flushes. * OpenGL: Guarantee writes to Buffers. * GPU: Implement Flush Requests for Async mode. * FenceManager: Manage syncpoints and rename fences to semaphores. * BufferCache: Refactor async managing. * FenceManager: Implement async buffer cache flushes on High settings * Rasterizer: Document SignalFence & ReleaseFences and setup skeletons on Vulkan. * GPU: Fix rebase errors. * Rasterizer: Disable fence managing in synchronous gpu. * ThreadManager: Sync async reads on accurate gpu. * FenceManager: Implement should wait. * GPU: Implement a Fence Manager. * OpenGL: Implement Fencing backend. * TextureCache: Flush linear textures after finishing rendering. * GPU: Delay Fences. * BufferCache: Implement OnCPUWrite and SyncGuestHost * GPU: Refactor synchronization on Async GPU * Texture Cache: Implement OnCPUWrite and SyncGuestHost * UI: Replasce accurate GPU option for GPU Accuracy Level * Add a trailing separator to the string path * Set _FORTIFY_SOURCE=0 if building Opus with mingw-w64 * Init SDL info structure and add dummy context * vk_memory_manager: Remove unified memory model flag * vk_rasterizer: Add lazy default buffer maker and use it for empty buffers * gl_rasterizer: Fix buffers without size * audio_renderer: Preliminary BehaviorInfo (#3736) * shader/arithmetic_integer: Fix LEA_IMM encoding * loader: nro: Fix process initialization using ProgramMetadata default. * loader: elf: Fix process initialization using ProgramMetadata default. * file_sys: program_metadata: Add a helper function for generating reasonable default metadata. * service: Update function tables * npad: Lower log level for VibrateController to Debug * audren: Lower log level for RequestUpdateImpl to Debug * dynarmic: Add option to disable CPU JIT optimizations * Initialize quad_indexed_pass before uint8_pass * service/time: Remove reliance on the global system accessor * dma_pusher: Remove reliance on the global system instance * thread: FPCR.FZ is likely not 1 * core: arm_unicorn: Fix interpret fallback by temporarily mapping instruction page. * renderer_vulkan: assume X11 if not Windows/macOS after bf1d66b7c074 * vulkan/wrapper: Sort physical devices * cmake: Silence -Werror=implicit-fallthrough in SDL2 headers * fixed_pipeline_state: Hash and compare the whole structure * fixed_pipeline_state: Pack blending state * fixed_pipeline_state: Pack rasterizer state * fixed_pipeline_state: Pack depth stencil state * fixed_pipeline_state: Pack attribute state * video_core: gl_shader_decompiler: Fix implicit fallthrough errors. * service: hid: npad: Fix implicit fallthrough errors. * gl_shader_decompiler: Avoid copies where applicable * time/system_clock_core: Remove unnecessary initializer * service/time: Mark IsStandardNetworkSystemClockAccuracySufficient as const * service/time: Add virtual destructors where applicable * service: Remove unused RequestParser instances * memory/slab_heap: Make use of static_cast over reinterpret_cast * loader/nso: Resolve moves not occurring in DecompressSegment * am: Resolve ineffective moves * video_code: Fix implicit switch fallthrough. * externals: Update fmt to 6.2.0 * vk_stream_buffer: Fix out of memory on boot on recent Nvidia drivers * Revert "gl_shader_cache: Use CompileDepth::FullDecompile on GLSL" * core: hle: Address various feedback & code cleanup. * core: device_memory: Remove incorrect usage of constexpr. * memory: Add copyright notice for Atmosphere where applicable. * kernel: Remove old VMManager class. * loader: nso: Fix loader size and arguments. * loader: elf/kip/nro: Updates for new VMM. * service: ldr: Updates for new VMM. * kernel: memory: page_table: Simplify GetPhysicalAddr impl. * kernel: svc: Updates for new VMM. * core: memory: Fix memory access on page boundaries. * video_core: memory_manager: Updates for Common::PageTable changes. * core: memory: Updates for new VMM. * common: page_table: Update to use VirtualBuffer and simplify. * core: gdbstub: Updates for new VMM. * core: reporter: Updates for new VMM. * memory: cheat_engine: Updates for new VMM. * arm_test_common: Updates for new VMM. * kernel: process: Updates for new VMM. * service: pl_u: Update for new shared memory layout. * service: time: Update for new shared memory layout. * service: hid: Update for new shared memory layout. * service: irs: Update for new shared memory layout. * kernel: resource_limit: Reserve physical memory. * kernel: Initialize memory layout for new VMM. * core: system: Rename GetDeviceManager -> DeviceManager. * kernel: transfer_memory: Refactor for new VMM. * core: Construct/Destruct DeviceMemory on Init/Shutdown. * kernel: shared_memory: Refactor for new VMM. * core: device_memory: Update to use VirtualBuffer class. * common: Add VirtualBuffer class, to abstract memory virtualization. * kernel: errors: Add ERR_OUT_OF_RESOURCES. * kernel: process_capability: Update to use Memory::PageTable. * kernel: memory: Add PageTable class, to manage process address space. * kernel: memory: Add MemoryLayout class, to build physical memory layout. * kernel: memory: Add MemoryManager class, to manage page heaps. * kernel: memory: Add MemoryBlockManager class, to manage memory blocks. * kernel: memory: Add PageHeap class, to manage a heap of pages. * kernel: memory: Add PageLinkedList class, to manage a list of pages. * kernel: memory: Add system_control code, which will be used for ASLR support. * physical_memory: Add missing include for <vector>. * kernel: memory: Add MemoryBlock class, for managing memory blocks and their state. * kernel: memory: Add memory_types.h, for things that are commonly used in memory code. * kernel: memory: Add SlabHeap class, for managing memory heaps. * kernel: memory: Add AddressSpaceInfo class, for managing the memory address space. * core: device_manager: Add a simple class to manage device RAM. * dynarmic: Enable strict alignment checks. * common: scope_exit: Implement mechanism for canceling a scope exit. * core: memory: Move to Core::Memory namespace. * common: alignment: Add a helper function for generic alignment checking. * core: kernel: Add svc_types header to include SVC-specific types. * core: kernel: Move SVC to its own namesapce. * externals: Update to latest dynarmic. * kernel: resource_limit: Improvements to implementation. * loader: nso: Fix loading of static objects to be properly sized and aligned. * common: common_funcs: Add a macro for defining enum flag operators. * process: SetupMainThread: Zero out argument on process start. * arm_interface: Ensure ThreadContext is zero'd out. * CMakeLists: Make missing declarations a compile-time error * General: Resolve warnings related to missing declarations * gdbstub: Fix some gdbstub jankiness * key_manager: Resolve missing field initializer warning * decode/memory: Resolve unused variable warning * decode/texture: Resolve unused variable warnings. * decode/texture: Collapse loop down into std::generate * decode/texture: Eliminate trivial missing field initializer warnings * time_zone_manager: Resolve sign conversion warnings * CMakeLists: Enable -Wmissing-declarations on Linux builds * hle_ipc: Remove std::size_t casts where applicable * maxwell_3d: Initialize format attributes constant as one * vk_compute_pass: Implement indexed quads * externals: Use shared libraries if possible * externals: Move LibreSSL linking to httplib. * input_common: Use the CMake target instead of the variable. * buffer_cache: Return handles instead of pointer to handles * decode/shift: Remove unused variable within Shift() * surface_view: Add missing operator!= to ViewParams * surface_base: Make IsInside() a const member function * texture_cache/format_lookup_table: Fix incorrect green, blue, and alpha indices * control_flow: Make use of std::move in TryInspectAddress() * video_core: Amend doxygen comment references * gl_query_cache: Resolve use-after-move in CachedQuery move assignment operator * gl_device: Mark stage_swizzle as constexpr * track: Eliminate redundant copies * CMakeLists: Specify -Wextra on linux builds * file_util: Early-exit in WriteArray and ReadArray if specified lengths are zero * CMakeLists: Make -Wreorder a compile-time error * kernel/thread: Resolve -Wswitch warnings * Texture Cache: Read current data when flushing a 3D segment. * maxwell_to_vk: Add uint16 vertex formats * maxwell_to_vk: Add missing breaks * vk_blit_screen: Initialize all members in VkPipelineViewportStateCreateInfo * Texture Cache: Only do buffer copies on accurate GPU. (#3634) * service: time: Implement CalculateStandardUserSystemClockDifferenceByUser. * Revert "gl_shader_decompiler: Implement merges with bitfieldInsert" * shader/arithmetic: Add FCMP_CR variant * gl_rasterizer: Implement constant vertex attributes * file_sys: patch_manager: Return early when there are no layers to apply. * service: friend: Stub IFriendService::GetBlockedUserListIds. * vk_rasterizer: Default to 1 viewports with a size of 0 * gl_shader_cache: Use CompileDepth::FullDecompile on GLSL * renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows * yuzu/main: Add better popup texts and remove duplicated actions * gl_texture_cache: Fix layered texture attachment base level * renderer_vulkan: Remove Nvidia checkpoints * renderer_vulkan: Catch device losses in more places * gl_rasterizer: Implement line widths and smooth lines * gl_shader_decompiler: Implement merges with bitfieldInsert * gl_shader_decompiler: Improve generated code in HMergeH* * shader/video: Partially implement VMNMX * video_core: Add MSAA registers in 3D engine and TIC * texture_cache: Remove preserve_contents * renderer_vulkan: Drop Vulkan-Hpp * Buffer queue: Correct behavior of free buffer. * service/vi: Partially implement BufferQueue disconnect * shader/texture: Remove type mismatches management from shader decoder * astc: Hard code bit depth changes to 8 and use fast replicate * common/file_util: Allow access to files on network shares * astc: Use boost's static_vector to avoid heap allocations * astc: Implement a fast precompiled alternative for Replicate * astc: Move Replicate to a constexpr LUT when possible * astc: Make InputBitStream constexpr * astc: OutputBitStream style changes and make it constexpr * gl_texture_cache: Attach view instead of base texture for layered attachments * VkRasterizer: Eliminate Legacy code. * Memory: Correct GCC errors. * Memory: Address Feedback. * GPUMemoryManager: Improve safety of memory reads. * qt/bootmanager: Remove unnecessary glBindFramebuffer * video_core/textures: Move GetMaxAnisotropy to cpp file * video_core/texture: Use a LUT to convert sRGB texture borders * yuzu: Drop SDL2 and Qt frontend Vulkan requirements * renderer_vulkan: Query device names from the backend * common/dynamic_library: Import and adapt helper from Dolphin * shader/conversion: Implement I2I sign extension, saturation and selection * Clang Format. * Shader/Pipeline Cache: Use VAddr instead of physical memory for addressing. * Query Cache: Use VAddr instead of physical memory for adressing. * Buffer Cache: Use vAddr instead of physical memory. * Texture Cache: Use vAddr instead of physical memory for caching. * GPU: Setup Flush/Invalidate to use VAddr instead of CacheAddr * shader/memory: Implement RED.E.ADD * shader/memory: Add "using std::move" * shader/memory: Minor fixes in ATOM * yuzu: Fixes to game list sorting * yuzu/configuration: Only assert that all buttons exist when we are handling the click for a button device * yuzu/configure_input_simple: Fix "Docked Joycons" controller profile * shader_bytecode: Fix I2I_IMM encoding ------------------------------------------------------------------- Thu Apr 09 17:23:52 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0222: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 3345" * Place SL and SR in the right most column. * Addressed feedback: switched to snake case and fixed clang-format errors * Removed leftover test code * Addressed feedback: removed CMake hack in favor of building the necessary strings via the supplied title format * Hack BUILD_FULLNAME into GenerateSCMRev.cmake * address nit. * Apply suggestions from code review * file_sys: fix LayeredFS error when loading some games made with… (#3602) * shader_decode: SULD.D using std::pair instead of out parameter * shader_decode: SULD.D avoid duplicate code block. * shader_decode: SULD.D fix conversion error. * shader_decode: SULD.D implement bits64 and reverse shader ir init method to removed shader stage. * silent warning (conversion error) * shader_decode: SULD.D -> SINT actually same as UNORM. * shader_decode: SULD.D fix decode SNORM component * clang-format * shader_decode: get sampler descriptor from registry. * tweaking. * clang-format * cleanup unuse params * cleanup debug code. * reimplement get component type, uncomment mistaken code * remove disable optimize * [wip] reimplement SULD.D * add shader stage when init shader ir * clang-fix * shader: image - import PredCondition * shader: SULD.D bits32 implement more complexer method. * shader: SULD.D import StoreType * shader: implement SULD.D bits32 * shader/other: Add error message for some S2R registers * shader_bytecode: Rename MOV_SYS to S2R * shader_bytecode: Add encoding for BAR * shader_ir: Add error message for EXIT.FCSM_TR * shader_bytecode: Add encoding for VOTE.VTG * Revert "Merge pull request #3499 from ReinUsesLisp/depth-2d-array" * shader_decompiler: Remove FragCoord.w hack and change IPA implementation * gl_texture_cache: Fix software ASTC fallback * vk_device: Add missing ASTC queries * video_core: Use native ASTC when available * gl_device: Detect if ASTC is reported and expose it * common: Port some changes from dolphin (#5127) * gl_rasterizer: Mark cleared textures as dirty ------------------------------------------------------------------- Mon Apr 06 09:07:19 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0219: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 3345" * ci: Update to Windows Server 2019 and Visual Studio 2019 ------------------------------------------------------------------- Sat Apr 04 11:34:15 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0217: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 3345" * shader/memory: Silence no return value warning * Frontend: Don't call DoneCurrent if the context isnt already current * Re-order the shoulder buttons both in the configuration menu, and in the code. * services: ldr: Fix MemoryState for read/write regions of NROs. * Address review and fix broken yuzu-tester build * Frontend/GPU: Refactor context management ------------------------------------------------------------------- Thu Apr 02 10:33:09 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0214: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 3345" * renderer_vulkan/wrapper: Add vkEnumerateInstanceExtensionProperties wrapper * renderer_vulkan/wrapper: Add command buffer handle * renderer_vulkan/wrapper: Add physical device handle * renderer_vulkan/wrapper: Add device handle * renderer_vulkan/wrapper: Add swapchain handle * renderer_vulkan/wrapper: Add fence handle * renderer_vulkan/wrapper: Add device memory handle * renderer_vulkan/wrapper: Add pool handles * renderer_vulkan/wrapper: Add buffer and image handles * renderer_vulkan/wrapper: Add queue handle * renderer_vulkan/wrapper: Add instance handle * capsrv: Split Capture services into individual files and stub GetAlbumContentsFileListForApplication (#3571) * clang-format * shader_decode: fix by suggestion * clang-format * gl_decompiler: min/max op not implement yet * shader_decode: ATOM/ATOMS: add function to avoid code repetition * shader_decode: merge GlobalAtomicOp to AtomicOp * shader_decode: implement ATOM operation for S32 and U32 * clang-format * shader_decode: implement ATOMS instr partial. * vk_decompiler: add atomic op and handler function. * gl_decompiler: add atomic op * shader: node - update correct comment * shader_decode: add Atomic op for common usage * renderer_vulkan/wrapper: Address feedback * shader/lea: Simplify generated LEA code * yuzu: fix the stuck in fullscreen mode bug * shader/lea: Fix op_a and op_b usages * shader/lea: Remove const and use move when possible * Replace non-commercial icons with free icons from icons8 (#5093) * Set render window to also accept focus via tabbing (Qt::StrongFocus) (#5089) * services: hid: Stub InitializeSevenSixAxisSensor. * services: time: Implement CalculateSpanBetween. * am: Implement VR related APIs * renderer_vulkan/wrapper: Add owning handles * renderer_vulkan/wrapper: Add pool allocations owning templated class * renderer_vulkan/wrapper: Add owning handle templated class * renderer_vulkan/wrapper: Add destroy and free overload set * renderer_vulkan/wrapper: Add dispatch table and loaders * renderer_vulkan/wrapper: Add exception class * renderer_vulkan/wrapper: Add ToString function for VkResult * renderer_vulkan/wrapper: Add Vulakn wrapper and a span helper * engines/const_buffer_engine_interface: Store image format type * maxwell_to_vk: implement signedscaled vertex formats * shader/conversion: Fix F2F rounding operations with different sizes * gl_rasterizer: Update stencil test regardless of it being disabled * gl_rasterizer: Synchronize stencil testing on clears * Update README.md * Minor ReadMe Changes * Use the correct directory for Qt Plugins * sm/controller: Increase PointerBufferSize * audio_core: Accept Audren REV8 * xmad: fix clang build error * apply replay logic to all writes. remove replay from MacroInterpreter::Send (@fincs) * core/web_browser: Allow WebApplet to exit gracefully when an error occurs * maxwell_3d: change declaration order * maxwell_3d: init shadow_state * gl_rasterizer: Use transformed viewport for depth ranges * maxwell_3d: this seem more correct. * maxwell_3d: update comments for shadow ram usage * marco_interpreter: write hw value when shadow ram requested * maxwell_3d: track shadow ram ctrl and hw reg value * maxwell_3d: implement MME shadow RAM * set: implement GetRegionCode * vk_texture_cache: Silence misc warnings * vk_staging_buffer_pool: Silence unused constant warning * vk_rasterizer: Remove unused variable * vk_pipeline_cache: Remove unused variable * maxwell_to_vk: Sielence -Wswitch warning * gl_shader_decompiler: Remove deprecated function and its usages * gl_rasterizer: Silence misc warnings * kepler_compute: Remove unused variables * microprofile: Silence sign comparison warning * time_zone_content_manager: Fix out of bounds read * input_common/udp: Fix clang build issues * astc: Fix clang build issues * gl_shader_decompiler: Don't redeclare gl_VertexID and gl_InstanceID * yuzu: Save sound output mode and set it to Stereo by default * bcat: Disable Boxcat backend by default * input_common/udp: Fix Linux build by using a backwards compatible way of error checking * gdbstub: small logic bug fix with defer_start * gdbstub: Ensure gdbstub doesn't drop packets crucial to initialization * renderer_opengl: Move some logic to an anonymous namespace * renderer_opengl: Detect Nvidia Nsight as a debugging tool * gl_shader_decompiler: Implement legacy varyings * shader/shader_ir: Track usage in input attribute and of legacy varyings * shader/shader_ir: Fix clip distance usage stores * shader/shader_ir: Change declare output attribute to a switch * maxwell_to_vk: Implement RG32 and RGB32 integer vertex formats * vk_rasterizer: Implement layered clears * vk_shader_decompiler: fix linux build * vk_rasterizer: Fix vertex range assert * vk_rasterizer: Reimplement clears with vkCmdClearAttachments * renderer_opengl: Keep presentation frames in lock-step when GPU debugging. * gl_device: Add option to check GL_EXT_debug_tool. * DirtyFlags: relax need to set render_targets as dirty * PageTable: move backing addresses to a children class as the CPU page table does not need them. * astc: Fix typos from search and replace * astc: Minor changes to InputBitStream * astc: Pass val in Replicate by copy * astc: Call std::vector:reserve on decodedClolorValues to avoid reallocating * clang-format * nit * astc: Call std::vector::reserve on texelWeightValues to avoid reallocating * astc: Create a LUT at compile time for encoding values * astc: Make IntegerEncodedValue a trivial structure * astc: Make IntegerEncodedValue constructor constexpr * astc: Make IntegerEncodedValue trivially copyable * astc: Rename C types to common_types * astc: Move Popcnt to an anonymous namespace and make it constexpr * astc: Use common types instead of stdint.h integer types * astc: Use 'enum class' instead of 'enum' for EIntegerEncoding * vk/gl_shader_decompiler: Silence assertion on compute * vk_shader_decompiler: Fix default varying regression * maxwell_3d: Add padding words to XFB entries * gl_shader_decompiler: Fix implicit conversion errors * vk_shader_decompiler: Fix implicit type conversion * vk_rasterizer: Implement transform feedback binding zero * vk_shader_decompiler: Add XFB decorations to generic varyings * vk_device: Enable VK_EXT_transform_feedback when available * vk_device: Shrink formatless capability name size * shader/transform_feedback: Expose buffer stride * vk_shader_decompiler: Use registry for specialization * gl_rasterizer: Implement transform feedback bindings * gl_shader_decompiler: Decorate output attributes with XFB layout * shader/transform_feedback: Add host API friendly TFB builder * nit & remove some optional param * shader_decode: implement XMAD mode CSfu * fix formatting * maxwell_to_vk: add vertex format eA2B10G10R10UnormPack32 * clang-format * Apply suggestions from code review * shader_decode: BFE add ref of reverse parallel method. * shader_decode: implement BREV on BFE * shader_bytecode: update BFE instructions struct. * node_helper: add IBitfieldExtract case * shader_decode: Reimplement BFE instructions * video_core: Implement RGBA16_SNORM * texture_cache: Report incompatible textures as black * texture_cache/surface_params: Force depth=1 on 2D textures * gl_shader_decompiler: Add layer component to texelFetch * yuzu: Remove exit lock for game pausing ------------------------------------------------------------------- Sat Mar 14 16:59:51 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0194: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * gl_shader_decompiler: Initialize gl_Position on vertex shaders * gl_shader_decompiler: Add missing {} on smem GLSL emission * NVFlinger: Do the microprofile Flip after processing a valid frame. * Microprofile: Allow accessing token. * gl_shader_decompiler: Fix regression in render target declarations * framebuffer_layout.h: drop the use of enum for screen dimensions. +clang format * gl_rasterizer: Implement polygon modes and fill rectangles * engines/maxwell_3d: Add TFB registers and store them in shader registry * shader/registry: Address feedback * gl_shader_decompiler: Add identifier to decompiled code * gl_shader_decompiler: Roll back to GLSL core 430 * const_buffer_engine_interface: Store component types * yuzu/loading_screen: Remove unused shader progress mode * gl_shader_cache: Reduce registry consistency to debug assert * shader/registry: Cache tessellation state * shader/registry: Store graphics and compute metadata * video_core: Rename "const buffer locker" to "registry" * gl_shader_cache: Rework shader cache and remove post-specializations * vk_reasterizer: fix mistype on SetupGraphicsImages * vk_rasterizer: Support disabled uniform buffers ------------------------------------------------------------------- Thu Mar 12 13:54:51 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0194: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * gl_shader_manager: Fix interaction between graphics and compute ------------------------------------------------------------------- Wed Mar 11 19:09:31 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0193: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * cubeb_sink: Don't discard other channels when performing downmixing ------------------------------------------------------------------- Tue Mar 10 13:50:19 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0192: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * textures: Fix anisotropy hack * maxwell_to_vk: Remove Storage capability for A1B5G5R5U * video_core/dirty_flags: Address feedback * renderer_opengl: Fix edge-case where alpha testing might cull presentation * gl_texture_cache: Remove blending disable on blits * gl_rasterizer: Don't disable blending on clears * dirty_flags: Deduplicate code between OpenGL and Vulkan * vk_rasterizer: Pass Maxwell registers to dynamic updates * state_tracker: Remove type traits with named structures * vk_state_tracker: Implement dirty flags for stencil properties * vk_state_tracker: Implement dirty flags for depth bounds * vk_state_tracker: Implement dirty flags for blend constants * vk_state_tracker: Implement dirty flags for depth bias * vk_state_tracker: Implement dirty flags for scissors * vk_state_tracker: Initial implementation * gl_rasterizer: Remove num vertex buffers magic number * gl_rasterizer: Only apply polygon offset clamp if enabled * gl_state_tracker: Implement dirty flags for depth clamp enabling * gl_rasterizer: Disable scissor 0 when scissor is not used on clear * gl_rasterizer: Notify depth mask changes on clear * gl_rasterizer: Minor sort changes to clearing * maxwell_3d: Use two tables instead of three for dirty flags * gl_state_tracker: Track state of index buffers * gl_state_tracker: Implement dirty flags for clip control * gl_state_tracker: Implement dirty flags for point sizes * gl_state_tracker: Implement dirty flags for fragment color clamp * gl_state_tracker: Implement dirty flags for logic op * gl_state_tracker: Implement dirty flags for sRGB * gl_state_tracker: Implement dirty flags for rasterize enable * gl_state_tracker: Implement dirty flags for multisample * gl_state_tracker: Implement dirty flags for alpha testing * gl_state_tracker: Implement dirty flags for polygon offsets * gl_state_tracker: Implement dirty flags for primitive restart * gl_state_tracker: Implement dirty flags for stencil testing * gl_state_tracker: Implement depth dirty flags * gl_state_tracker: Implement dirty flags for front face and culling * gl_state_tracker: Implement dirty flags for blending * gl_state_tracker: Implement dirty flags for clip distances and shaders * gl_state_tracker: Add dirty flags for buffers and divisors * maxwell_3d: Change write dirty flags to a bitset * gl_state_tracker: Implement dirty flags for vertex formats * gl_state_tracker: Implement dirty flags for color masks * gl_state_tracker: Implement dirty flags for scissors * gl_state_tracker: Implement dirty flags for viewports * renderer_opengl: Reintroduce dirty flags for render targets * maxwell_3d: Flatten cull and front face registers * video_core: Reintroduce dirty flags infrastructure * gl_state: Remove completely * gl_state: Remove program tracking * gl_state: Remove framebuffer tracking * gl_state: Remove image tracking * gl_state: Remove texture and sampler tracking * gl_state: Remove blend state tracking * gl_state: Remove stencil test tracking * gl_state: Remove clip control tracking * gl_state: Remove clip distances tracking * gl_state: Remove rasterizer disable tracking * gl_state: Remove viewport and depth range tracking * gl_state: Remove scissor test tracking * gl_state: Remove color mask tracking * gl_state: Remove clamp framebuffer color tracking * gl_state: Remove multisample tracking * gl_state: Remove framebuffer sRGB tracking * gl_state: Remove VAO cache and tracking * gl_state: Remove depth clamp tracking * gl_state: Remove depth tracking * gl_state: Remove primitive restart tracking * gl_state: Remove logic op tracker * gl_state: Remove blend color tracking * gl_state: Remove polygon offset tracking * gl_state: Remove alpha test tracking * gl_state: Remove cull mode tracking * gl_state: Remove front face tracking * gl_state: Remove point size tracking * gl_rasterizer: Add oglEnablei helper * gl_rasterizer: Add OpenGL enable/disable helper * gl_rasterizer: Remove dirty flags * common/math_util: Support float type rectangles * Create an "Advanced" tab in the graphics configuration tab and add anisotropic filtering levels. ------------------------------------------------------------------- Fri Mar 06 22:13:53 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0188: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * input/udp - Add minor error handling to prevent bad input from crashing * Frontend/SDL - Provide proper default for UDP input * input/udp - Dont log on invalid packet received * core: hle: Implement separate A32/A64 SVC interfaces. * core: Implement separate A32/A64 ARM interfaces. * core: loader: Remove check for 32-bit. * core: dynarmic: Add CP15 from Citra. * Update README.md * nit: move comment to right place. * shader_decode: Fix LD, LDG when track constant buffer * vk_swapchain: Silence TOCTOU race condition * ARM_Interface: Cache the JITs instead of deleting/recreating. * vk_shader_decompiler: Implement indexed textures * shader: Simplify indexed sampler usages * video_core: Implement more scaler attribute formats * audio_core: interpolate: Improvements to fix audio crackling. ------------------------------------------------------------------- Sat Feb 29 00:06:28 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0180: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * renderer_opengl: Fix SRGB presentation frame tracking. * renderer_opengl: Reduce swap chain size to 3. * AM/ICommonStateGetter: Stub SetLcdBacklighOffEnabled (#3454) * shader: FMUL switch to using LUT (#3441) * renderer_opengl: Use more concise lock syntax. * renderer_opengl: Move Frame/FrameMailbox to OpenGL namespace. * renderer_opengl: Create gl_framebuffer_data if empty. * frontend: qt: bootmanager: Acquire a shared context in main emu thread. * frontend: qt: bootmanager: Vulkan: Restore support for VK backend. * frontend: qt: bootmanager: OpenGL: Implement separate presentation thread. * frontent: qt: main: Various updates/refactoring for separate presentation thread. * core: frontend: Refactor scope_acquire_window_context to scope_acquire_context. * frontend: sdl2: emu_window: Implement separate presentation thread. * renderer_opengl: Add texture mailbox support for presenter thread. * renderer_opengl: Add OGLRenderbuffer to resource/state management. * core: frontend: emu_window: Add TextureMailbox class. * core: settings: Add setting to enable vsync, which is on by default. * video_core/surface: Add R32_SINT render target format * video_core/gpu: Remove unused functions * Scheduler: Inline global scheduler in Scheduler Lock. * Kernel: Correct pending feedback. * System: Expose Host thread registering routines from kernel. * Kernel: Address Feedback. * Kernel: Implement Scheduler locks * Kernel: Implement Time Manager. * Kernel: Rename ThreadCallbackHandleTable and Setup Thread Ids on Kernel. * Kernel: Make global scheduler depend on KernelCore * audio_core: interpolate: Fix include for climits (Linux build break). * shader/texture: Fix illegal 3D texture assert * nit: add const to where it need. * shader: implement LOP3 fast replace for old function * vk_device: remove left over from other branch * clang-format * shader_decompiler: only add StorageImageReadWithoutFormat when available * video_core: memory_manager: Flush/invalidate asynchronously on Unmap. * fix issue with windows getnameinfo() * shader_decompiler: add check in case of device not support ShaderStorageImageReadWithoutFormat * vk_device: setup shaderStorageImageReadWithoutFormat * vk_device: add check for shaderStorageImageReadWithoutFormat * shader_conversion: I2F : add Assert for case src_size is Short * fix warning * clang-format fix * shader_conversion: add conversion I2F for Short * vk_shader: add Capability StorageImageReadWithoutFormat * httplib compatibility * vk_shader: Implement function ImageLoad (Used by Kirby Start Allies) * update httplib to latest commit * fixups mistake auto commit. * Update code structure * add vertex UnsignedInt size RGBA * add eBc2SrgbBlock to formats * vulkan: add DXT23_SRGB * renderer_vulkan: Add the rest of case for TryConvertBorderColor * update httplib README * 0.4.2 works too * analog_from_button get direction implementation * update httplib to 0.2.6 * fix CMake build errors for certain SDL2 installations * texture_cache: Implement layered framebuffer attachments * vk_shader_decompiler: Implement Layer output attribute * texture_cache: Avoid matches in 3D textures * surface_base: Implement texture buffer flushes * IUserLocalCommunicationService: add function Initialize2 * HLE: correct function name of IUserLocalCommunicationService * nvhost_gpu: implement ChannelSetTimeslice * Revert "video_core: memory_manager: Use GPU interface for cache functions." * texture: Implement R32I * shader/texture: Allow 2D shadow arrays and simplify code * maxwell_3d: Unify draw methods * query_cache: Address feedback * query_cache: Fix ambiguity in CacheAddr getter * query_cache: Add a recursive mutex for concurrent usage * vk_query_cache: Implement generic query cache on Vulkan * query_cache: Abstract OpenGL implementation * gl_query_cache: Optimize query cache * gl_query_cache: Implement host queries using a deferred cache * gl_rasterizer: Sort method declarations * gl_rasterizer: Add queued commands counter * maxwell_3d: Slow implementation of passed samples (query 21) * Add 4:3 aspect ratio and address feedback * Core: Correct compilition in GCC * Address feedback * Use enumeration instead of magic numbers * Add following aspect ratios: 16:9, 21:9, Stretch to Window * gl_resource_manager: Add managed query class * gl_rasterizer: Use the least generic OpenGL draw function possible * vk_shader_decompiler: Fix vertex id and instance id * Core: Address Feedback * Core: Set all hardware emulation constants in a single file. * Kernel: Refactor synchronization to better match RE * Kernel: Change WaitObject to Synchronization object. In order to better reflect RE. * use config mode for finding SDL2 with CMake * shader/decode: Fix constant buffer offsets * audio_core: Switch to a faster interpolation technique ------------------------------------------------------------------- Fri Feb 14 14:00:24 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0165: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * GPU: Address Feedback. * address_arbiter: Collapse loops in InsertThread() and RemoveThread() * address_arbiter: Simplify GetThreadsWaitingOnAddress() * bcat/backend: Make formatting of passphrase consistent in NullBackend::SetPassphrase() * bcat/backend: Prevent fmt exception in debug log within NullBackend::Clear() * kernel/thread: Remove trivial usages of the global system accessor * update hwopus DecodeInterleaved for FW 7.0.0+ * GPU: Implement GPU Clock correctly. * Maxwell3D: Correct query reporting. * gl_rasterizer: Implement GL_POINT_SPRITE ------------------------------------------------------------------- Mon Feb 10 19:32:14 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0161: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * Remove option "Show files with type 'Unknown'" * hle: services: Use std::shared_ptr instead of copy by value. * gpu_thread: Use MPSCQueue for GPU commands. * video_core: memory_manager: Use GPU interface for cache functions. * maxwell_3d: Fix stencil back mask ------------------------------------------------------------------- Sat Feb 08 13:16:59 UTC 2020 - pousaduarte@gmail.com - Update to version mainline636: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * services: prepo: Fix IPC interface with SaveReport/SaveReportWithUser. * hle_ipc: Add error checking to read/write buffer access. * maxwell_to_gl: Implement R8G8_USCALED * maxwell_to_gl: Reduce unimplemented formats to LOG_ERROR * shader/shift: Implement SHIFT_RIGHT_{IMM,R} * shader/shift: Implement SHF_LEFT_{IMM,R} ------------------------------------------------------------------- Fri Feb 07 22:15:40 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0158: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * kernel: transfer_memory: Properly reserve and reset memory region. * wait_object: Make wait behavior only require one object to signal. - This was holdover from citra. * am: Correct IPC object count mismatch. * services: am: Clear events on PopOutData and PopInteractiveOutData. * am: Refactor IStorage interface. * applets: software_keyboard: Signal state change on end of interactive session. * applets: software_keyboard: Minor cleanup. * vk_rasterizer: Use noexcept variants of std::bitset * input_common/udp: Ensure that UDP is shut down within Shutdown() * input_common/udp: Add missing override specifiers * input_common/udp: std::move SocketCallback instances where applicable * input_common/udp: std::move shared_ptr within Client constructor * udp/client: Replace deprecated from_string() call with make_address_v4() * input_common/udp: Silence -Wreorder warning for Socket * input_common/udp: Remove unnecessary inclusions * input_common/udp: Add missing header guard * shader: Remove curly braces initializers on shared pointers * Revert "system_archive: Fix Korean and Chinese fonts" * core/arm: Remove usage of global GetCurrentThread() * kernel/physical_core: Make use of std::unique_ptr * core/cpu_manager: Remove unused includes * kernel/physical_core: Remove unused kernel reference member variable * gl_rasterizer: Fix instanced draw arrays * ci: Disable Vulkan for Windows MinGW builds * yuzu/bootmanager: Define Vulkan widget only when enabled * ci: Disable Vulkan for Linux builds * yuzu_cmd: Fix memcpy on Vulkan handlers * yuzu: Implement Vulkan frontend * web_service/telemetry_json: Report USER_CONFIG * settings: Add settings for graphics backend * core: Only wait for idle on gpu_core when it was initialized * shader/other: Fix skips for SYNC and BRK * shader/other: Stub S2R LaneId * buffer_cache: Delay buffer destructions * clang * minor corrections * GUI: Togglable graphics settings buttons in status bar * System: Address Feedback * shader/bfi: Implement register-constant buffer variant * shader/arithmetic: Implement FCMP * System: Correct PrepareReschedule. * Kernel: Remove a few global instances from the kernel. * Core: Refactor CpuCoreManager to CpuManager and Cpu to Core Manager. * ArmInterface: Delegate Exclusive monitor factory to exclusive monitor interfasce. * Core: Refactor CPU Management. * Shader_IR: Address feedback. * shader/memory: Implement STL.S16 and STS.S16 * shader/memory: Implement unaligned LDL.S16 and LDS.S16 * shader/memory: Move unaligned load/store to functions * shader/memory: Implement LDL.S16 and LDS.S16 * Disable clang-format for font files * Shader_IR: Change name of TrackSampler function so it does not confuse with the type. * Shader_IR: Corrections, styling and extras. * Shader_IR: Correct Custom Variable assignment. * Shader_IR: Propagate bindless index into the GL compiler. * Shader_IR: Implement Injectable Custom Variables to the IR. * GL Backend: Introduce indexed samplers into the GL backend * Shader_IR: deduce size of indexed samplers * Shader_IR: Setup Indexed Samplers on the IR * Shader_IR: Implement initial code for tracking indexed samplers. * Shader_IR: Address Feedback * Shader_IR: Allow constant access of guest driver. * Shader_IR: Address Feedback * Guest_driver: Correct compiling errors in GCC. * Shader_IR: Store Bound buffer on Shader Usage * GPU: Implement guest driver profile and deduce texture handler sizes. * Kernel: Implement Physical Core. * system_archive: Fix Chinese font * system_archive: Fix Korean font * Moved analog direction logic to sdl_impl * Corrected directional states sensitivity * hid: Fix analog sticks directional states * const correction * clang * Update configure_input_player.cpp * Added deadzone controls for sdl engine at input settings ------------------------------------------------------------------- Tue Feb 4 17:15:16 UTC 2020 - Markus S <kamikazow@opensuse.org> - Use GCC instead of Clang because recent the motion control feature breaks Clang. ------------------------------------------------------------------- Fri Jan 31 08:52:44 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0148: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * gl_shader_decompiler: Remove UNIMPLEMENTED for gl_PointSize * gl_texture_cache: Silence implicit sign cast warnings * texture_cache/surface_base: Fix layered break down * gl_texture_cache: Properly implement depth/stencil sampling * dark themes refinements and cleanup * shader/memory: Implement ATOM.ADD * bsd: Stub several more functions. * vk_shader_decompiler: Disable default values on unwritten render targets * yuzu/configuration: create UI tab and move gamelist settings there * common/logging: don't use regex for path trimming * Replace GetString with Get function * Address second part of review comments * Address review comments * Input: UDP Client to provide motion and touch controls * service: time: Implement ToPosixTimeWithMyRule. * loader: provide default arguments (zero byte) to NSOs * gl_shader_cache: Disable fastmath on Nvidia * Shader_IR: Implement TXD Array. ------------------------------------------------------------------- Thu Jan 23 13:42:08 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0141: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * fix qss stylesheet whitespaces * GUI: fix minor issues with dark themes GUI: rename and reorder themes * vk_blit_screen: Address feedback * time: Fix month off-by-one error. * yuzu_qt: config: Move audio to its own tab. * vk_blit_screen: Initial implementation * GUI/gamelist: add "None" as an option for second row and remove dynamically duplicate row options (#3309) * vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-V * CMake: Create thin archives on Linux * gl_state: Use bool instead of GLboolean * vk_graphics_pipeline: Set front facing properly * vk_rasterizer: Address feedback * gl_shader_decompiler: Fix decompilation of condition codes * vk_rasterizer: Implement Vulkan's rasterizer * renderer_vulkan: Add header as placeholder * GUI: add few missing hotkeys to main menu * service: time: Implement GetStandardLocalSystemClock. * time: Remove overflow error checking (currently breaks ADO builds). * service: time: Implement GetClockSnapshotFromSystemClockContext. * service: time: Implement IsStandardNetworkSystemClockAccuracySufficient. * system_archive: Add a basic HLE implementation for time zone binary. * service: time: Rewrite implementation of glue services. * core: Initialize several structs that make use of Common::UUID. ------------------------------------------------------------------- Sat Jan 18 14:48:38 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0136: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * core/memory: Create a special MapMemoryRegion for physical memory. * core/hle: Simplify PhysicalMemory usage in vm_manager. * core/loaders: Simplify PhysicalMemory usage. * Remove unused CPU Vendor string and telemtry field * Add headbar icon on Linux * shader/memory: Implement ATOMS.ADD.U32 * format_lookup_table: Fix ZF32_X24S8 component types * gl_state: Implement PROGRAM_POINT_SIZE * gl_texture_cache: Use local variables to simplify DownloadTexture * gl_texture_cache: Fix format for RGBX16F * gl_texture_cache: Use Snorm internal format for RG8S * gl_texture_cache: Use Snorm internal format for ABGR8S ------------------------------------------------------------------- Fri Jan 17 19:38:06 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0135: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * vk_texture_cache: Address feedback * vk_texture_cache: Fix typo in commentary * maxwell_3d: Make dirty_pointers private * Fix git version in scm_rev.cpp * renderer_opengl/utils: Remove unused header inclusions * renderer_opengl/utils: Forward declare private structs * control_flow: Silence -Wreorder warning for CFGRebuildState * gl_shader_cache: Remove unused STAGE_RESERVED_UBOS constant * gl_shader_cache: std::move entries in CachedShader constructor * gl_shader_cache: Remove unused entries variable in BuildShader() * vk_texture_cache: Implement generic texture cache on Vulkan * texture_cache/surface_params: Make GetNumLayers public * GUI/configure: resize hotkeys column to content * shader_ir/memory: Implement u16 and u8 for STG and LDG ------------------------------------------------------------------- Tue Jan 14 22:16:44 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0132: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * core/kernel: Fix GetTotalPhysicalMemoryUsed. * vk_compute_pass: Address feedback * maxwell_to_vk: Implement GL_CLAMP hacking Nvidia's driver * shader_ir/texture: Simplify AOFFI code * vk_compute_pass: Add compute passes to emulate missing Vulkan features * vk_shader_util: Add helper to build SPIR-V shaders ------------------------------------------------------------------- Sun Jan 12 21:15:11 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0130: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" ------------------------------------------------------------------- Thu Jan 09 23:21:00 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0127: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * vk_pipeline_cache: Initial implementation * vk_graphics_pipeline: Initial implementation * vk_compute_pipeline: Initial implementation * vk_pipeline_cache: Add file and define descriptor update template filler * fixed_pipeline_state: Add depth clamp * vk_rasterizer: Add placeholder * vk_renderpass_cache: Initial implementation * vk_update_descriptor: Initial implementation * vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cache * vk_memory_manager: Misc changes * vk_buffer_cache: Temporarily remove buffer cache * yuzu/bootmanager: Remove {glx,wgl}MakeCurrent on SwapBuffers * service: vi: Implement CloseLayer. * core/memory + arm/dynarmic: Use a global offset within our arm page table. ------------------------------------------------------------------- Mon Jan 06 13:22:20 UTC 2020 - pousaduarte@gmail.com - Update to version mainline636: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * Update src/video_core/renderer_vulkan/vk_descriptor_pool.cpp * vk_descriptor_pool: Initial implementation * video_core: Block in WaitFence. ------------------------------------------------------------------- Sun Jan 05 22:02:25 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0123: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * Shader_IR: Address Feedback * yuzu: Remove Maxwell debugger * Shader_IR: add the ability to amend code in the shader ir. * NvServices: Correct Ioctl Remap. * nifm: Only return that there's an internet connection when there's a BCATServer ------------------------------------------------------------------- Fri Jan 03 09:03:52 UTC 2020 - pousaduarte@gmail.com - Update to version mainline0120: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * "Merge Tagged PR 2945" * vk_image: Avoid unnecesary equals * vk_staging_buffer_pool: Initialize last epoch to zero * gl_rasterizer: Allow rendering without fragment shader * vk_staging_buffer_pool: Add a staging pool for temporary operations * vk_image: Add an image object abstraction * maxwell_to_gl: Implement missing primitive topologies * shader/p2r: Implement P2R Pr * shader/r2p: Refactor P2R to support P2R ------------------------------------------------------------------- Sat Dec 28 15:53:10 UTC 2019 - pousaduarte@gmail.com - Update to version mainline0115: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * "Merge Tagged PR 2945" * fixed_pipeline_state: Define symetric operator!= and mark as noexcept * fixed_pipeline_state: Define structure and loaders * maxwell_3d: Add depth bounds registers * gl_rasterizer: Implement RASTERIZE_ENABLE * shader/texture: Implement TLD4.PTP * shader/texture: Enable arrayed TLD4 * gl_shader_decompiler: Rename "sepparate" to "separate" * shader/texture: Implement AOFFI for TLD4S * shader/texture: Remove unnecesary parenthesis ------------------------------------------------------------------- Mon Dec 23 13:54:11 UTC 2019 - pousaduarte@gmail.com - Update to version mainline0110: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * "Merge Tagged PR 2945" * Texture Cache: Improve documentation * Texture Cache: Address Feedback * Texture Cache: Add HLE methods for building 3D textures within the GPU in certain scenarios. * gl_shader_cache: Update commentary for shared memory * gl_shader_cache: Remove unused entry in GetPrimitiveDescription * vk_shader_decompiler: Use Visit instead of reimplementing it * vk_resource_manager: Add entry to VKFence to test its usage * vk_reosurce_manager: Add assert for releasing fences * vk_resource_manager: Implement VKFenceWatch move constructor * vk_device: Add entry to catch device losses * vk_shader_decompiler: Fix full decompilation * vk_shader_decompiler: Skip NDC correction when it is native * vk_shader_decompiler: Normalize output fragment attachments * vk_device: Add query for RGBA8Uint * vk_shader_decompiler: Update sirit and implement Texture AOFFI * shader/memory: Implement LDG.U8 and unaligned U8 loads * renderer_vulkan/shader: Add helper GLSL shaders ------------------------------------------------------------------- Sun Dec 22 10:56:59 UTC 2019 - pousaduarte@gmail.com - Update to version mainline0108: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * "Merge Tagged PR 2945" ------------------------------------------------------------------- Fri Dec 20 13:13:09 UTC 2019 - pousaduarte@gmail.com - Update to version mainline636: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * "Merge Tagged PR 2945" * shader/conversion: Implement byte selector in I2F * shader/texture: Properly shrink unused entries in size mismatches * gl_shader_decompiler: Add missing DeclareImages * shader_bytecode: Fix TLD4S encoding ------------------------------------------------------------------- Thu Dec 19 19:28:16 UTC 2019 - pousaduarte@gmail.com - Update to version mainline0106: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * "Merge Tagged PR 2945" * delete .appeveyor dir * common: SPSCQueue: Notify after incrementing queue size. * delete appveyor config * vk_scheduler: Delegate commands to a worker thread and state track ------------------------------------------------------------------- Tue Dec 17 19:03:15 UTC 2019 - pousaduarte@gmail.com - Update to version mainline0104: * "Merge Tagged PR 1012" * "Merge Tagged PR 1340" * "Merge Tagged PR 1703" * "Merge Tagged PR 2710" * "Merge Tagged PR 2945" * "Merge Tagged PR 3173" * renderer_opengl: Make ScreenRectVertex's constructor constexpr * renderer_opengl: Remove C casts * renderer_opengl: Use explicit binding for presentation shaders * renderer_opengl: Drop macros for message decorations * renderer_opengl: Move static definitions to anonymous namespace * renderer_opengl: Move commentaries to header file ------------------------------------------------------------------- Mon Dec 16 17:49:54 UTC 2019 - Markus S <kamikazow@opensuse.org> - Switch to "mainline" branch which is the recommended one for users. * Should fix the build. - Use Ninja and Clang for faster compilation times, therefore fewer resources for OBS. ------------------------------------------------------------------- Sun Dec 15 12:53:22 UTC 2019 - pousaduarte@gmail.com - Update to version 20191214: * externals: Update boost-ext to include safe_numerics. * maxwell_to_vk: Improve image format table and add more formats * maxwell_to_vk: Implement more vertex formats * maxwell_to_vk: Implement more primitive topologies * maxwell_to_vk: Approach GL_CLAMP closer to the GL spec * maxwell_to_vk: Use VK_EXT_index_type_uint8 when available * kernel/svc: Correct function signature of SignalProcessWideKey * gl_device: Enable compute shaders for Intel Mesa drivers * gl_shader_cache: Add missing new-line on emitted GLSL ------------------------------------------------------------------- Thu Dec 12 19:06:03 UTC 2019 - pousaduarte@gmail.com - Update to version 20191211: * Gl_Rasterizer: Skip Tesselation Control and Eval stages as they are un implemented. * Added missing include * shader: Implement MEMBAR.GL ------------------------------------------------------------------- Wed Dec 11 17:24:39 UTC 2019 - pousaduarte@gmail.com - Update to version 20191211: * Kernel: Correct behavior of Address Arbiter threads. (#3165) * Maxwell3D: Implement Depth Mode. * kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNew ------------------------------------------------------------------- Tue Dec 10 22:32:33 UTC 2019 - pousaduarte@gmail.com - Update to version 20191210: * vk_shader_decompiler: Fix build issues on old gcc versions * vk_shader_decompiler: Reduce YNegate's severity * shader_ir/other: Implement S2R InvocationId * vk_shader_decompiler: Misc changes * shader: Keep track of shaders using warp instructions * shader_ir/memory: Implement patch stores * vk_device: Misc changes * externals: Update Vulkan-Headers * kernel: Remove unnecessary includes * vk_swapchain: Add support for swapping sRGB * maxwell_3d: Add tessellation tess level registers * maxwell_3d: Add tessellation mode register * maxwell_3d: Add patch vertices register ------------------------------------------------------------------- Sat Dec 07 15:21:19 UTC 2019 - pousaduarte@gmail.com - Update to version 20191206: * shader_bytecode: Remove corrupted character * Ignore git-related files in cmake for EA tarballs * CpuCore: Clear exclusive state after doing a run in dynarmic. * Add missing CMakeLists.txt from root folder to source upload * Shader_IR: Address Feedback * Shader_IR: Implement TXD instruction. * Shader_IR: Implement FLO instruction. * Shader_Bytecode: Add encodings for FLO, SHF and TXD ------------------------------------------------------------------- Tue Dec 03 19:25:32 UTC 2019 - pousaduarte@gmail.com - Update to version 20191202: * telemetry_session: Report renderer backend * telemetry_session: Use temporary to avoid writing the same enum * Texture_Cache: Redo invalid Surfaces handling. ------------------------------------------------------------------- Sun Dec 01 15:51:41 UTC 2019 - pousaduarte@gmail.com - Update to version 20191130: * gl_framebuffer_cache: Optimize framebuffer key * gl_rasterizer: Re-enable framebuffer cache for clear buffers * kernel: Implement a more accurate IPC dispatch. ------------------------------------------------------------------- Sat Nov 30 12:22:03 UTC 2019 - pousaduarte@gmail.com - Update to version 20191129: * texture_cache/surface_base: Fix out of bounds texture views * patch_manager: Adds check for disabled cheats to prevent them from being enabled (#3178) * video_core/gpu_thread: Tidy up SwapBuffers() * video_core/const_buffer_locker: Make use of std::tie in HasEqualKeys() * video_core/const_buffer_locker: Remove unused includes * video_core/const_buffer_locker: Remove #pragma once from cpp file * filesys/romfs: Remove unused includes * filesys/romfs: Make ProcessFile and ProcessDirectory internally linked * file_sys/directory: Make EntryType an enum class * core/memory; Migrate over SetCurrentPageTable() to the Memory class * core/memory: Migrate over GetPointerFromVMA() to the Memory class * core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory class * core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory class * core/memory: Migrate over ZeroBlock() and CopyBlock() to the Memory class * core/memory: Migrate over RasterizerMarkRegionCached() to the Memory class * core/memory: Migrate over ReadCString() to the Memory class * core/memory: Migrate over GetPointer() * core: Prepare various classes for memory read/write migration * core/memory: Move memory read/write implementation functions into an anonymous namespace * core/memory: Migrate over address checking functions to the new Memory class * core/memory: Migrate over memory mapping functions to the new Memory class * core/memory: Introduce skeleton of Memory class * core_timing: Use better reference tracking for EventType. (#3159) * gl_shader_decompiler: Fix casts from fp32 to f16 * kernel: Fix reference management for client/server session. * gl_device: Deduce indexing bug from device instead of heuristic * ci: Continue pipeline on clang format failure * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. (#3154) * gl_texture_cache: Apply sRGB on blits * Update svc.cpp * svc: GetSystemTick should return cntpct_el0, not core ticks. * gpu_thread: Don't spin wait if there are no GPU commands. * gl_device: Reserve base bindings on limited devices * gl_state: Skip null texture binds * gl_rasterizer: Disable compute shaders on Intel * gl_shader_cache: Hack shared memory size * gl_shader_decompiler: Normalize image bindings * gl_shader_decompiler: Normalize cbuf bindings * gl_rasterizer: Add missing cbuf counter reset on compute * gl_shader_cache: Remove dynamic BaseBinding specialization * video_core: Unify ProgramType and ShaderStage into ShaderType * gl_rasterizer: Bind graphics images to draw commands * gl_shader_cache: Specialize local memory size for compute shaders * gl_shader_cache: Specialize shared memory size * gl_shader_cache: Specialize shader workgroup * shader/texture: Handle TLDS texture type mismatches * shader/texture: Deduce texture buffers from locker * maxwell_3d: Fix stencil_back_func_mask offset * service: Update function tables ------------------------------------------------------------------- Sun Nov 24 13:48:29 UTC 2019 - pousaduarte@gmail.com - Update to version 20191124: * fix clang-format and lambda capture * unfold UNREACHABLE implementation for dumb compilers * Kernel: Optimize condition variable threads management. * Kernel: Correct SignalProcessWideKey * Kernel: Correct behavior of Condition Variables to be more similar to real hardware. * buffer_cache: Remove brace initialized for objects with default constructor * gl_shader_gen: Apply default value to gl_Position * Kernel: Correct Cancel Synchronization. ------------------------------------------------------------------- Sat Nov 23 18:17:25 UTC 2019 - pousaduarte@gmail.com - Update to version 20191121: * citra_qt/main.ui: remove unused actions "Load Symbol Map..." and... * service/am: Remove unnecessary Skip calls * am: Stub QueryApplicationPlayStatistics ------------------------------------------------------------------- Wed Nov 20 19:03:12 UTC 2019 - pousaduarte@gmail.com - Update to version 20191119: * shader/other: Reduce DEPBAR log severity * format_lookup_table: Address feedback * texture_cache: Use a table instead of switch for texture formats * texture_cache: Drop abstracted ComponentType ------------------------------------------------------------------- Mon Nov 18 19:48:35 UTC 2019 - pousaduarte@gmail.com - Update to version 20191117: * common/logging: Silence no return value warnings ------------------------------------------------------------------- Sun Nov 17 18:48:57 UTC 2019 - pousaduarte@gmail.com - Update to version 20191116: * Revert "common/bit_field: Silence sign-conversion warnings" * common/bit_field: Silence sign-conversion warnings ------------------------------------------------------------------- Fri Nov 15 19:33:41 UTC 2019 - pousaduarte@gmail.com - Update to version 20191115: * common_funcs: Remove semicolons from INSERT_PADDING_* macros * externals: Update httplib * service: Resolve sign conversion errors * perf_stats: Resolve implicit int to double conversion error * loader; Resolve sign conversion/truncation errors * gdbstub: Resolve sign conversion errors * kernel: Resolve sign conversion warnings * file_sys: Resolve sign conversion warnings * result: Add default error code for the ResultCode(-1) case * crypto: Resolve sign-conversion warnings * result: Resolve sign-coversion warnings * arm_unicorn: Resolve sign conversion warnings * CMakeLists: Make most implicit type conversion warnings errors on MSVC * gl_rasterizer: Remove front facing hack * gl_shader_decompiler: Fix typo "y_negate"->"y_direction" * gl_shader_manager: Remove unused variable in SetFromRegs * yuzu_cmd: Use string_view instead of string for extensions * gl_rasterizer: Emulate viewport flipping with ARB_clip_control ------------------------------------------------------------------- Thu Nov 14 21:50:01 UTC 2019 - pousaduarte@gmail.com - Update to version 20191114: * correct the implementation of RGBA16UI * common/hash: Remove unused HashableStruct * xts_archive: Remove redundant std::string constructor * common_funcs: silence sign-conversion warnings in MakeMagic() * key_manager: Make use of IOFile in WriteKeyToFile() * core: Migrate off deprecated mbedtls functions * Implement stub for QueryApplicationPlayStatisticsByUid * gl_shader_cache: Enable extensions only when available * gl_shader_decompiler: Add safe fallbacks when ARB_shader_ballot is not available * shader_ir/warp: Implement FSWZADD * gl_shader_decompiler: Reimplement shuffles with platform agnostic intrinsics ------------------------------------------------------------------- Wed Nov 13 19:10:38 UTC 2019 - pousaduarte@gmail.com - Update to version 20191113: * Update CONTRIBUTING.md * Move source in windows uploads into its own internal zip * ci: Package source with builds * video_core: Enable sign conversion warnings * video_core: Treat implicit conversions as errors * video_core: Silence implicit conversion warnings * microprofile: Silence conversion warnings ------------------------------------------------------------------- Sun Nov 10 13:45:45 UTC 2019 - pousaduarte@gmail.com - Update to version 20191109: * web-service: Port citra's updated web_backend code. * yuzu: configure_web: Use Base64 encoded token for simplifying user experience. * gl_shader_cache: Fix locker constructors ------------------------------------------------------------------- Sat Nov 09 17:13:00 UTC 2019 - pousaduarte@gmail.com - Update to version 20191108: * GLSLDecompiler: Correct Texture Gather Offset. * buffer_cache: Add missing includes (#3079) * shader/control_flow: Specify constness on caller lambdas * shader/control_flow: Use callable template instead of std::function * shader/control_flow: Abstract repeated code chunks in BRX tracking * shader/control_flow: Silence Intellisense cast warnings * shader/control_flow: Remove brace initializer in std containers * shader/decode: Reduce severity of arithmetic rounding warnings * shader/arithmetic: Reduce RRO stub severity * shader/texture: Remove NODEP warnings * ci: Rename build folder only on non-mainline builds * Revert "ci: Rename build folder only on non-mainline builds" * ci: Populate build repository from Azure environment * ci: Rename build folder only on non-mainline builds * common_func: Use std::array for INSERT_PADDING_* macros. * kernel: readable_event: Signal only once. * kernel: events: Remove ResetType::Automatic. * kernel: readable_event: Initialize members. * common/bit_field: Remove FORCE_INLINE calls * core/am: Stub InitializeApplicationCopyrightFrameBuffer, SetApplicationCopyrightImage and SetApplicationCopyrightVisibility * citra_qt: add amiibo drag and drop support * gl_rasterizer: Re-enable stream buffer memory due to global memory * gl_rasterizer: Upload constant buffers with glNamedBufferSubData * Shader_IR: Fix regression on TLD4 * Shader_IR: Fix TLD4 and add Bindless Variant. * gl_state: Use std::array::fill instead of std::fill * gl_state: Move dirty checks to individual apply calls instead of Apply * gl_state: Remove ApplyDefaultState * gl_state: Change SetDefaultViewports to use default constructor * gl_state: Minor style changes * gl_state: Remove unused Citra TextureUnits * gl_state: Move initializers from constructor to class declaration * shader/node: Unpack bindless texture encoding * externals: Track upstream libzip * externals: Amend zlib submodule * scheduler: Mark parameter of AskForReselectionOrMarkRedundant() as const * maxwell_3d/kepler_compute: Remove unused arguments in GetTexture * video_core/textures: Remove unused index entry in FullTextureInfo * maxwell_3d: Remove unused method GetStageTextures * scheduler: Silence sign conversion warnings * scheduler: Initialize class members directly where applicable * scheduler: Amend documentation comments * Video_Core: Implement texture format E5B9G9R9_SHAREDEXP. * maxwell_3d: Silence implicit conversion warnings * rasterizer_accelerated: Add intermediary for GPU rasterizers * externals: Track upstream opus * savedata_factory: Automatically create certain savedata * Fermi2D: Use a different formula for delimiting blit areas. * Fermi2D: limit blit area to only available area * Kernel Thread: Cleanup THREADPROCESSORID_DONT_UPDATE. * Kernel: Address Feedback 2 * Kernel: Clang Format * Kernel: Reverse global accessor removal. * Kernel: Address Feedback. * Kernel Scheduler: Make sure the global scheduler shutdowns correctly. * Kernel_Thread: Eliminate most global accessors. * KernelSVC: Assert that condition variable address is aligned to 4 bytes. * Kernel: Correct Paused scheduling * Kernel: Corrections to Wait Objects clearing in which a thread could still be signalled after a timeout or a cancel. * Kernel: Correct redundant yields to only advance time forward. * Kernel: Corrections to ModifyByWaitingCountAndSignalToAddressIfEqual * Kernel: Correct Results in Condition Variables and Mutexes * Kernel: Clang Format * Kernel: Remove global system accessor from WaitObject * Scheduler: Implement Yield Count and Core migration on Thread Preemption. * Scheduler: Corrections to YieldAndBalanceLoad and Yield bombing protection. * Kernel: Initial implementation of thread preemption. * Scheduler: Add protections for Yield bombing * Kernel: Style and Corrections * Correct PrepareReschedule * Comment and reorganize the scheduler * Add PrepareReschedule where required. * Correct compiling errors and addapt to the new interface. * Correct Supervisor Calls to work with the new scheduler, * Redesign CPU Cores to work with the new scheduler * Add interfacing to the Global Scheduler * Addapt thread class to the new Scheduler * Implement a new Core Scheduler * hid: Stub SetNpadJoyAssignmentModeSingle and reorganize service commands ------------------------------------------------------------------- Sun Oct 27 18:53:05 UTC 2019 - pousaduarte@gmail.com - Update to version 20191027: * astc: Silence implicit conversion warnings ------------------------------------------------------------------- Sat Oct 26 20:42:20 UTC 2019 - pousaduarte@gmail.com - Update to version 20191026: * Shader_IR: Address Feedback. * Shader_IR: Clang format * gl_shader_cache: Implement locker variants invalidation * gl_shader_disk_cache: Store and load fast BRX * const_buffer_locker: Minor style changes * gl_shader_decompiler: Move entries to a separate function * Shader_IR: Implement Fast BRX and allow multi-branches in the CFG. * Shader_IR: Correct typo in Consistent method. * Shader_IR: allow lookup of texture samplers within the shader_ir for instructions that don't provide it * Shader_IR: Implement Fast BRX and allow multi-branches in the CFG. * Shader_Cache: setup connection of ConstBufferLocker * VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders. * Shader_IR: Implement BRX tracking. ------------------------------------------------------------------- Sat Oct 26 12:29:33 UTC 2019 - pousaduarte@gmail.com - Update to version 20191026: * Revert "ci: Add build name to archive root folder" * shader_ir: Use std::array with pair instead of unordered_map * Shader_Ir: Fix TLD4S from using a component mask. ------------------------------------------------------------------- Thu Oct 24 18:13:39 UTC 2019 - pousaduarte@gmail.com - Update to version 20191024: * shader_bytecode: Make Matcher constexpr capable * video_core/shader: Resolve instances of variable shadowing * ci: Add build name to archive root folder ------------------------------------------------------------------- Wed Oct 23 18:26:21 UTC 2019 - pousaduarte@gmail.com - Update to version 20191022: * shader_ir/memory: Ignore global memory when tracking fails * hid/npad: Fix incorrect connection boolean value in ConnectAllDisconnectedControllers() * hid/npad: Add missing break in default case * hid/npad: Replace std::for_each with ranged for loops * hid/npad: Remove redundant non-const variant of IsControllerSupported() * hid/npad: Move function declarations * vk_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator() * gl_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator() ------------------------------------------------------------------- Sun Oct 20 17:01:29 UTC 2019 - pousaduarte@gmail.com - Update to version 20191020: * maxwell_3d: Reduce FlushMMEInlineDraw logging to Trace * core: Fix clang-format errors. ------------------------------------------------------------------- Sat Oct 19 14:23:58 UTC 2019 - pousaduarte@gmail.com - Update to version 20191018: * Fix null pointer deref. * video_core/shader/ast: Make ShowCurrentState() and SanityCheck() const member functions * video_core/shader/ast: Make ASTManager::Print a const member function * video_core/shader/ast: Make ExprPrinter members private * video_core/shader/ast: Make Indent() return a string_view * video_core/shader/ast: Make Indent() private * video_core/shader/ast: Rename Ident() to Indent() * video_core/shader/ast: Make use of fmt where applicable * vk_shader_decompiler: Mark operator() function parameters as const references * dmnt_cheat_vm: Correct register Restore and ClearRegs behavior * video_core/macro_interpreter: Make definitions of most private enums/unions hidden * core/core: Resolve -Wreorder warnings * core/memory/cheat_engine: Resolve -Wreorder warnings * apm/controller: Make SetPerformanceConfiguration() use an array of pairs over a map * apm/controller: Make GetCurrentPerformanceMode() a const member function * texture_cache: Avoid unnecessary surface copies within PickStrategy() and TryReconstructSurface() * control_flow: Silence truncation warnings * maxwell_3d: Silence truncation warnings * video_core/texture_cache: Amend Doxygen references * Surfaces: Implement R4G4B4A4U format. * Surfaces: Implement ASTC 6x6 10x10 12x12 8x6 6x5 ------------------------------------------------------------------- Wed Oct 16 18:16:51 UTC 2019 - pousaduarte@gmail.com - Update to version 20191016: * video_core/surface: Add missing break in PixelFormatFromTextureFormat() * gl_shader_decompiler: Make ExprDecompiler's GetResult() a const member function * gl_shader_decompiler: Use a std::string_view with GetDeclarationWithSuffix() * gl_shader_decompiler: Fold flow_var constant into GetFlowVariable() * gl_shader_decompiler: Mark ASTDecompiler/ExprDecompiler parameters as const references where applicable * gl_shader_decompiler: Pass by reference to GenerateTextureArgument() * gl_shader_decompiler: Use std::holds_alternative within GenerateTexture() * shader/node: std::move Meta instance within OperationNode constructor * gl_shader_decompiler: Avoid unnecessary copies of MetaImage * video_core/gpu: Remove use of the global system accessor * bcat: Remove use of global system accessors * common/algorithm: Add description comment indicating intended algorithms * common: Rename binary_find.h to algorithm.h * card_image: Implement system update commands in XCI * pl_u: Fix mismatched rebase size error in font encryption * pl_u: Use kernel physical memory * pl_u: Remove excess static qualifier * pl_u: Use OSS system archives if real archives don't exist * system_archive: Synthesize shared fonts system archives * externals: Move OSS font data to file_sys in core * nvflinger/buffer_queue: Remove use of a global system accessor * Core_Timing: Address Remaining feedback. * Core_Timing: Fix tests. * Core_Timing: Address Feedback and suppress warnings. * AsyncGpu: Address Feedback * fixed clang format & addressed feedback * yuzu/configure_input_player: Fix input handling for ZL and ZR from controllers with analog triggers * Core Timing: Correct Idle and remove lefting pragma * Core Timing: General corrections and added tests. * Tests: Eliminate old Core Timing Tests * Core Timing: Rework Core Timing to run all cores evenly. * GL_Renderer: Remove lefting snippet. * NvFlinger: Remove leftover from corrections and clang format. * Gl_Rasterizer: Protect CPU Memory mapping from multiple threads. * Core: Wait for GPU to be idle before shutting down. * Nvdrv: Correct Event setup in Nvdrv * NVFlinger: Reverse the change that only signaled events on buffer acquire. * Nvdrv: Do framelimiting only in the CPU Thread * NvFlinger: Don't swap buffers if a frame is missing and always trigger event in sync gpu. * GPU_Async: Correct fences, display events and more. * Nvdrv: Correct Async regression and avoid signaling empty buffer vsyncs * Link to Yuzu's wiki instead of Citra's * yuzu: Pause when in background * card_image: Add accessors for raw partitions in XCI * card_image: Lazily load partitions in XCI * pfs: Provide accessors for file sizes and offsets ------------------------------------------------------------------- Wed Oct 09 20:56:28 UTC 2019 - pousaduarte@gmail.com - Update to version 20191009: * Updated yuzu icon to thicker version * ci: Isolate upload merge step into stage 2 * ci: Update build suffix for mock builds * shader/half_set_predicate: Fix HSETP2 for constant buffers * shader/half_set_predicate: Reduce DEBUG_ASSERT to LOG_DEBUG * hid: Implement DeactivateNpad * ci: Add TAR-XZ compression to MSVC builds * alignment: Resolve allocator construction issues on debug * alignment: Specify trait definitions within the allocator * gl_shader_disk_cache: Properly ignore existing cache * bcat/module: Silence truncation warnings * bcat: Take std::function instance by value in NullBackend's constructor * bcat: In-class initialize ProgressServiceBackend's impl member * bcat: Make ProgressServiceBackend's constructor take a std::string_view * qt: Fix game name format error * bcat: Make ProgressServiceBackend's GetEvent() const * boxcat: Silence an unused variable warning * core/core: Remove unused header * core: Remove Core::CurrentProcess() * hle/service: Replace global system instance calls with instance-based ones * video_core/control_flow: Eliminate variable shadowing warnings * video_core/control_flow: Eliminate pessimizing moves * video_core/ast: Unindent most of IsFullyDecompiled() by one level * video_core/ast: Make ShowCurrentState() take a string_view instead of std::string * video_core/ast: Eliminate variable shadowing warnings * video_core/ast: Replace std::string with a constexpr std::string_view * video_core/ast: Default the move constructor and assignment operator * video_core/{ast, expr}: Organize forward declaration * video_core/expr: Supply operator!= along with operator== * video_core/{ast, expr}: Use std::move where applicable * video_core/ast: Supply const accessors for data where applicable * qt: Change titlebar formatting * common: Add additional SCM revision fields * ci: Add version counter variable * maxwell_3d: Add dirty flags for depth bounds values * audio/audout_u: Change formatting for old clang-format versions * yuzu/game_list_worker: Silence warnings * yuzu/game_list: Silence -Wswitch and -Wunused-variable * yuzu/configure_service: Silence -Wswitch * yuzu_tester: Remove unused variable * service/nvdrv: Silence -Wswitch * service/nfp: Silence -Wunused and -Wswitch * service/hid: Silence -Wunused and -Wswitch * service/am: Silence -Wreorder * service/hid: Remove unused system reference * service/friend: Remove unused field * service/filesystem: Silence -Wunused-variable * service/bcat: Silence -Wreorder and -Wunused * service/audio: Silence -Wunused * service/apm: Silence -Wunused and -Wreorder * common/file_util: Silence -Wswitch * Shader_ir: Address feedback * Shader_Ir: Address Feedback and clang format. * vk_shader_decompiler: Correct Branches inside conditionals. * vk_shader_decompiler: Clean code and be const correct. * Shader_IR: clean up AST handling and add documentation. * Shader_IR: Correct OutwardMoves for Ifs * vk_shader_compiler: Don't enclose branches with if(true) to avoid crashing AMD * gl_shader_decompiler: Refactor and address feedback. * Shader_IR: corrections and clang-format * vk_shader_compiler: Correct SPIR-V AST Decompiling * Shader_IR: allow else derivation to be optional. * vk_shader_compiler: Implement the decompiler in SPIR-V * Shader_IR: mark labels as unused for partial decompile. * Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes. * gl_shader_decompiler: Implement AST decompiling * shader_ir: Declare Manager and pass it to appropiate programs. * shader_ir: Corrections to outward movements and misc stuffs * shader_ir: Add basic goto elimination * shader_ir: Initial Decompile Setup * gl_rasterizer: Fix polygon offset units * Services::ES fix casting warnings * lm: Flush manager output on core shutdown * lm: Rename Initialize to Log and implement with manager/reporter * lm: Implement manager class to output to reporter * core: Add LM::Manager to system * reporter: Add log output for packaged lm log data ------------------------------------------------------------------- Sat Oct 05 10:53:53 UTC 2019 - pousaduarte@gmail.com - Update to version 20191004: * Texture_Cache: Blit Deduction corrections and simplifications. * TextureCache: Add the ability to deduce if two textures are depth on blit. * SDL: Fix missing header * CMakeLists: Make libzip excluded from the ALL target * externals: Use upstream zlib * [crypto] Use IsAllZeroArray helper function * qt_themes: add two colorful themes * Add FPS to SDL title bar ------------------------------------------------------------------- Thu Oct 03 12:08:55 UTC 2019 - pousaduarte@gmail.com - Update to version 20191003: * ci: Correct mainline release dependency * ci: Add Mainline tagline * ci: Use MSVC windows for patreon * ci: Use MSVC windows for mainline * ci: Add MSVC build template * ci: Add Windows MSVC package script * ci: Fix unset environment variable bug * qt: Add service dialog * ci: Check additional pages on GitHub * ci: Iterate through GitHub pages for pull requests * boxcat: Use updated game-asset API URL and tags * bcat: Add FSC accessors for BCAT data * boxcat: Implement events global field * bcat: Implement DeliveryCacheProgressImpl structure * boxcat: Use Etag header names for file digest * boxcat: Add downloading and client for launch parameter data * bcat: Add backend function for BCAT Indirect (launch parameter) Returns the data that should be returned by PopLaunchParameter kind=ApplicationSpecific. * bcat: Expose CreateBackendFromSettings helper function * am: Unstub PopLaunchParameter and add bcat connection for app-specific data Previously we were simply returning the account-preselect structure all times but if passed with a different mode the game expects application-specific data. This also adds a hook for BCAT into this allowing us to send the launch parameter through bcat, * configure_service: Allow Qt to open external links * cmake: Add cmake option to build Boxcat backend Default enabled * yuzu: Add UI tab to configure BCAT services Also displays current events if boxcat is selected. * bcat: Implement cmd 90201 ClearDeliveryCacheStorage Takes a title ID and simply deletes all the data for that title ID's bcat. Invokes the respective backend command. * bcat: Implement cmd 30100 SetPassphrase Takes a title ID and passphrase (0x40 byte string) and passes it to the backend. * bcat: Implement cmd RequestSyncDeliveryCache and variant Variant also supports only updating a single directory. These just both invoke backend commands. * bcat: Implement IDeliveryCacheProgressService commands Used to query completion status and events for the current delivery task. * bcat: Implement IDeliveryCacheFileService commands Used to read the contents of files and access their metadata. * bcat: Implement IDeliveryCacheDirectoryService commands Used to list and get directories at the root level. * bcat: Implement IDeliveryCacheStorageService commands Used to create subclasses to manage files and directories and to list directories. * bcat: Add commands to create IDeliveryCacheStorageService Used to access contents of download. * module: Create BCAT backend based upon Settings value on construction * bcat: Add BCAT backend for Boxcat service Downloads content from yuzu servers and unpacks it into the temporary directory provided. Fully supports all Backend features except passphrase. * bcat: Add backend class to generify the functions of BCAT Provides the most abstract simplified functions of BCAT as functions. Also includes a NullBackend class which is just a no-op. * settings: Add option to set BCAT backend * nifm: Signal to applications that internet access is available * core/loader: Track the NSO build ID of the current process * applets: Add accessor for AppletFrontendSet Allows other services to call applets without using LLE. * filesystem: Add getter for BCAT temporary directory * vfs: Add function to extract ZIP file into virtual filesystem * externals: Add zlib and libzip libraries to handle ZIP file parsing * ci: Correct arguments for mergebot script * ci: Populate patreon PRs on public repository * Revert "arm_dynarmic: Check if jit is nullptr when preparing reschedule" * Remove AppVeyor status * Signal styleset changes at a better time * arm_dynarmic: Check if jit is nullptr when preparing reschedule Prevents crash with multiprocess loading. ------------------------------------------------------------------- Sun Sep 29 17:32:06 UTC 2019 - pousaduarte@gmail.com - Update to version 20190927: * ci: Add two step patreon build pipeline * ci: Add private mergebot CI templates * ci: Optionally prepend commit messages with environment variable * ci: Add private mergebot script * externals: Update fmt to master * gl_shader_decompiler: Add tailing return for HUnpack2 * gl_shader_decompiler: Fix clang build issues * gl_shader_decompiler: Use uint for images and fix SUATOM * shader/image: Implement SULD and remove irrelevant code * shader_bytecode: Add SULD encoding ------------------------------------------------------------------- Mon Sep 23 20:48:57 UTC 2019 - pousaduarte@gmail.com - Update to version 20190922: * ci: Correct GitHub Release name * ci: Determine build date via bash * ci: Update to use date as build number * cmake: Add SCM detection for Azure * ci: Split mainline pipeline and add support for GitHub releases (#2900) * main: Use const on all variable initializations * Add missing include * removed comment * Rebased * service/acc: Lower log severity from INFO to DEBUG * Maxwell3D: Corrections and refactors to MME instance refactor * removed unneeded semicolon * Revert "Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1" * Removed reference to core timing to nvflinger and used system instead * marked controller constructors as explicit * Rebase * Rebase * Deglobalize System: Vi * Deglobalize System: Time * Rebase * Deglobalize System: NvFlinger * Rebase * Deglobalize System: Nim * Deglobalize System: Nifm * Deglobalize System: NFP * Deglobalize System: LDR * Deglobalize System: IRS * Deglobalize System: Hid * Deglobalize System: Friend * Deglobalize System: Fatal * Deglobalize System: Btm * Deglobalize System: Btdrv * Deglobalize System: Aoc * Deglobalize System: Am * pl_u: Use kernel physical memory * qt: Prompt user for confirmation if exit lock is active * dmnt_cheat_vm: Default initialize structure values * server side clang format fix2 * am: Implement ISelfController ExitLock commands * am: Implement ISelfController Exit Closes the current application. * am: Add RequestExit event to AppletMessageQueue Tested against libnx, signals to games to begin cleanup. * core: Track system exit lock status Used to determine if yuzu should confirm before pausing or stopping a game. * Use clang-format provided by build server * pl_u: Remove excess static qualifier * pl_u: Use OSS system archives if real archives don't exist * dmnt_cheat_vm: Make Cheat VM compliant to code style * core: Initialize cheats after load to avoid VMManager crash * core: Update RegisterCheatList for new VM * patch_manager: Update cheat parsing for new VM * nso: Pass build ID directly * cheat_engine: Move to memory and strip VM * memory: Port Atmosphere's DmntCheatVm * log: Add logging class for Cheat Engine * Fix clang-format * fermi_2d: Lower surface copy log severity to DEBUG * video_core: Implement RGBX16F PixelFormat * system_archive: Synthesize shared fonts system archives * pl_u: Expose method to encrypt TTF to BFTTF * externals: Move OSS font data to file_sys in core * prepo: Remove system global accessors * prepo: Implement SaveReport New and System variants * reporter: Differentiate between Old, New, and System play reports * configure_debug: Move reporting option to logging * Update README.md (#2871) * config: Remove Dump options from configure_debug * filesystem: Add const qualification to various accessors * yuzu: Add UI to manage filesystem paths and sizes * core: Store FileSystemController in core * settings: Add options for managing gamecard emulation * settings: Add options for setting storage sizes * yuzu: Port old usages of Filesystem namespace to FilesystemController * settings: Update LogSettings to show NAND/SDMC paths from FileUtil * card_image: Add accessors for gamecard certificate * card_image: Add functions to query gamecard update partition * content_archive: Add accessors for Rights ID and SDK Version * partition_data_manager: Add accessor for decrypted PRODINFO partition * services: Pass FileSystemController as reference to services that need it * am: Unstub IApplicationFunctions EnsureSaveData (20) * filesystem: Pass Size Getter functions to IFileSystem for sizes * sdmc_factory: Add SD Card size getters * bis_factory: Add getters for NAND partition sizes * filesystem: Add FileSystemController to deglobalize FS services * submisson_package: Fix edge case with improperly sized filenames * sdmc_factory: Add accessor for SDMC Album directory * sdmc_factory: Add accessor for SDMC PlaceholderCache * sdmc_factory: Add accessor for content directory * savedata_factory: Implement savedata creation and don't create dir on open * patch_manager: Add short-circuit edge-case to GetPatchVersionNames * patch_manager: Add error checking to load dir to prevent crashes * registered_cache: Process *.cnmt.nca files * registered_cache: Implement PlaceholderCache to manage placeholder and installing content * bis_factory: Fix mod loader edge-case with homebrew title IDs * bis_factory: Add accessors for BIS placeholder caches * bis_factory: Add accessor for NAND Image Directory * bis_factory: Add accessors for BIS content directories * bis_factory: Add accessors for BIS partitions * Shader_IR: ICMP corrections and fixes * externals: Update dynarmic to master * Added Host CPU and OS to log * Swapped TID and Game name to make it easier to parse * Log the current title id and game name which is booting * Used revision 5 instead of 7, marked constexpr as static * Mark DrawArrays as LOG_TRACE * Mark KickOffPb & SubmitGPFIFO as trace * Rasterizer: Correct introduced bug where a conditional render wouldn't stop a draw call from executing * Shader_IR: Implement ICMP. * Added frame_count for REV7 audio renderer * disable clang-format temp * Rasterizer: Refactor and simplify DrawBatch Interface. * Rasterizer: Address Feedback and conscerns. * Rasterizer: Refactor draw calls, remove deadcode and clean up. * VideoCore: Corrections to the MME Inliner and removal of hacky instance management. * Video Core: initial Implementation of InstanceDraw Packaging * Initial implementation of Ioctl2 & Ioctl3 * Core/Memory: Only FlushAndInvalidate GPU if the page is marked as RasterizerCachedMemory * shader_ir/warp: Implement SHFL * maxwell_to_gl: Fix mipmap filtering * gl_rasterizer: Remove unused code paths from ConfigureFramebuffers * When docked mode is checked, uncheck "joycons docked" * maxwell_3d: Update firmware 4 call stub commentary * renderer_opengl: Fix rebase mistake * gl_rasterizer: Correct sRGB Fix regression * renderer_opengl: Fix sRGB blits * Address review comments * Add frametime logging for tracking performance over time * gl_shader_decompiler: Avoid writing output attribute when unimplemented * gl_shader_decompiler: Implement shared memory * shader_ir: Implement LD_S * shader_ir: Implement ST_S * Revert "Revert #2466" and stub FirmwareCall 4 * nsp: Correct status codes for extracted NSPs Avoids all extracted NSPs being marked as error file type because they don't have program NCAs. * nsp: Use title ID from NPDM metadata for extracted type NSPs Avoids 0 being used as title ID for all extracted NSPs. ------------------------------------------------------------------- Sat Sep 14 11:57:26 UTC 2019 - pousaduarte@gmail.com - Update to version 20190914: * vk_device: Add miscellaneous features and minor style changes * externals: Update Vulkan headers * video_core/surface: Add function to detect sRGB surfaces * shader/image: Implement SUATOM and fix SUST * acc_su: Implement GetProfileEditor (205) * acc: Implement IProfileEditor-specific commands 'Store' and 'StoreWithImage' * profile_manager: Add setter for ProfileBase and ProfileData * acc: Add IProfileCommon for IProfile and IProfileEditor ------------------------------------------------------------------- Tue Sep 10 18:31:43 UTC 2019 - pousaduarte@gmail.com - Update to version 20190910: * shader/shift: Implement SHR wrapped and clamped variants * maxwell_3d: Avoid moving macro_params ------------------------------------------------------------------- Tue Sep 10 13:16:25 UTC 2019 - pousaduarte@gmail.com - Update to version 20190910: * gl_shader_decompiler: Keep track of written images and mark them as modified * texture_cache: Minor changes * gl_rasterizer: Apply textures and images state * gl_rasterizer: Add samplers to compute dispatches * gl_rasterizer: Minor code changes * gl_state: Split textures and samplers into two arrays * gl_rasterizer: Implement image bindings * gl_state: Add support for glBindImageTextures * texture_cache: Pass TIC to texture cache * kepler_compute: Implement texture queries * gl_rasterizer: Split SetupTextures ------------------------------------------------------------------- Mon Sep 09 19:46:42 UTC 2019 - pousaduarte@gmail.com - Update to version 20190909: * nro: Implement ReadControlData * Address review comments * service/am: Remove usages of global system accessors * yuzu/configure: move speed limiter to general * kernel/vm_manager: Correct doxygen comment parameter tags for MapPhysicalMemory/UnmapPhysicalMemory * kernel/vm_manager: Move variables closer to usage spots in MapPhysicalMemory/UnmapPhysicalMemory * gl_shader_decompiler: Fixup slow path * AM: Stub IApplicationFunctions::GetGpuErrorDetectedSystemEvent (#2827) * configure_dialog: reverse tab map to avoid logic based on user-facing/translatable text * Fix clang-format * Fix uisettings include * Limit the size of directory icons, fix text when icon size is none * Change QList to QVector * Separate UserNand and Sdmc directories * Address more trivial review comments * Address trivial review comments * yuzu: Add support for multiple game directories * Add assets and licenses * ditto * IsVibrationEnabled() as a const member func * clang-format * Update npad.h * Update npad.cpp * Update hid.h * Update hid.cpp * gl_rasterizer: Fix stencil testing * gl_shader_cache: Remove special casing for geometry shaders * half_set_predicate: Fix predicate assignments * gl_device: Disable precise in fragment shaders on bugged drivers * gl_shader_decompiler: Fixup AMD's slow path type * gl_shader_decompiler: Rework GLSL decompiler type system * Add Kernel::EventPair audio_input_device_switch_event; * remove <f32> * audren_u: Stub IAudioDevice::QueryAudioDeviceInputEvent * explicitly represent 1 as a float (1.0f instead of 1) * Change u32 -> f32 * Add cancel option to analog stick configuration * service/audio/audren_u: Stub IAudioDevice::GetAudioDeviceOutputVolume * kernel/vm_manager: Correct behavior in failure case of UnmapPhysicalMemory() * kernel/vm_manager: Reserve memory ahead of time for slow path in MergeAdjacentVMA * kernel/vm_manager: std::move shared_ptr instance in MergeAdjacentVMA * kernel/vm_manager: Deduplicate iterator creation in MergeAdjacentVMA * kernel/vm_manager: Simplify some std::vector constructor calls * kernel/vm_manager: Simplify some assertion messages * accommodate for fmt update * externals: update fmt to 6.0.0 * Guard unistd.h with MacOS only macro * citra_qt: on osx chdir to bundle dir to allow detection of user folder * system_archive: Add open-source reimplementation of MiiModel data * key_manager: Convert Ticket union to std::variant * es: Populate/synthesize tickets on construction * key_manager: Add structure for Ticket parsing * es: Implement ETicket GetPersonalizedTicketData (17) * es: Implement ETicket GetCommonTicketData (16) * es: Implement ETicket GetPersonalizedTicketSize (15) * es: Implement ETicket GetCommonTicketSize (14) * es: Implement ETicket ListPersonalizedTicket (12) * es: Implement ETicket ListCommonTicket (11) * es: Implement ETicket CountPersonalizedTicket (10) * es: Implement ETicket CountCommonTicket (9) * es: Implement ETicket GetTitleKey (8) * es: Implement ETicket ImportTicket (1) * key_manager: Add accessors/helpers for ticket management * key_manager: Add equality operator for RSAKeyPair ------------------------------------------------------------------- Wed Sep 04 11:54:51 UTC 2019 - pousaduarte@gmail.com - Update to version 20190904: * Changed apt-get upgrade for specific package. * apt update before upgrade. Use apt-get. * configuration/config: Add missing screenshot path read * Fix to Windows sleep issues * maxwell_3d: Fix macro binding cursor * shader_ir/conversion: Split int and float selector and implement F2F H1 * shader_ir/conversion: Implement F2I F16 Ra.H1 * float_set_predicate: Add missing negation bit for the second operand * renderer_opengl: Implement RGB565 framebuffer format * renderer_opengl: Use block linear swizzling for CPU framebuffers * renderer_opengl: Use VideoCore pixel format * gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig * mii: Handle logging of unknown database source ------------------------------------------------------------------- Sun Sep 01 20:05:58 UTC 2019 - pousaduarte@gmail.com - Update to version 20190901: * video_core: Silent miscellaneous warnings (#2820) * gl_buffer_cache: Add missing include * Revert "externals: Update FMT to 6.0.0" * externals: Update FMT to 6.0.0 * shader_ir: Implement VOTE * Buffer Cache: Adress Feedback. * Buffer_Cache: Implement flushing. * Buffer_Cache: Implement barriers. * Buffer_Cache: Optimize and track written areas. * BufferCache: Rework mapping caching. * Buffer_Cache: Fixes and optimizations. * Video_Core: Implement a new Buffer Cache * MaxwellDMA: Fixes, corrections and relaxations. * shader/decode: Implement S2R Tic * gl_shader_decompiler: Rename bufferImage to imageBuffer * gl_shader_cache: Fix newline on buffer preprocessor definitions * textures: Fix texture buffer size calculation * gl_texture_cache: Do not set texture parameters to buffers * gl_texture_cache: Add missing break in CreateTexture ------------------------------------------------------------------- Wed Aug 28 19:44:33 UTC 2019 - pousaduarte@gmail.com - Update to version 20190821: * Fixup! #2772 missed this one file * yuzu/CMakeLists: Remove qt5_wrap_ui macro usage * shader_ir: Implement NOP * half_set_predicate: Fix HSETP2_C constant buffer offset * Qt: Fixed behaviour of buttons by connecting functors to correct signals * yuzu-tester/yuzu: Correct format string * yuzu-tester/yuzu: Remove unused variable * GPU: Flush commands on every dma pusher step. * decode/half_set_predicate: Fix predicates * Shader_Ir: Implement F16 Variants of F2F, F2I, I2F. * Common/Alignment: Add noexcept where required. * Kernel: Address Feedback * Common: Correct alignment allocator to work on C++14 or higher. * VM_Manager: Align allocated memory to 256bytes * service/audren_u: Handle audio USB output revision queries in ListAudioDeviceName() * service/audren_u: Move revision testing code out of AudRenU * service/audio: Remove global system accessors * service/audren_u: Remove unnecessary return value from GetActiveAudioDeviceName() * service/audren_u: Report proper device names ------------------------------------------------------------------- Sat Aug 03 17:49:49 UTC 2019 - pousaduarte@gmail.com - Update to version 20190801: * Correct apt permissions * Upgrade PIP version with APT * Upgrade pip version * Add missing dot * ci: Fix Azure PR Builds * Fix README change mistake (#2754) * Update README.md * Update README.md * Update README.md * azure: Fix clang-format and releases * Maxwell3D: Reorganize and address feedback * Shader_Ir: Change Debug Asserts for Log Warnings * shader/half_set_predicate: Fix HSETP2 implementation * shader/half_set_predicate: Implement missing HSETP2 variants * video_core/control_flow: Provide operator!= for types with operator== * video_core/control_flow: Prevent sign conversion in TryGetBlock() * video_core/control_flow: Remove unnecessary BlockStack copy constructor * video_core/control_flow: Use std::move where applicable * video_core/control_flow: Use the prefix variant of operator++ for iterators * video_core/control_flow: Use empty() member function for checking emptiness * video_core: Resolve -Wreorder warnings * video_core/control_flow: Make program_size for ScanFlow() a std::size_t * video_core/control_flow: Place all internally linked types/functions within an anonymous namespace * video_core/shader/decode: Prevent sign-conversion warnings * Shader_Ir: correct clang format * GPU: Add missing puller methods. * MaxwellDMA/KeplerCopy: Downgrade DMA log message to Trace. * Gl_Texture_Cache: Remove assert on component type in GetFormatTuple * Shader_Ir: Downgrade precision and rounding asserts to debug asserts. * Kernel: Downgrade WaitForAddress and SignalToAddress messages to Trace. * GL_State: Feedback and fixes * Maxwell3D: Address Feedback * Texture_Cache: Rebase Fixes * GL_Rasterizer: Corrections to Clearing. * Maxwell3D: Correct marking dirtiness on CB upload * GL_Rasterizer: Rework RenderTarget/DepthBuffer clearing * Maxwell3D: Implement State Dirty Flags. * Maxwell3D: Rework CBData Upload * Maxwell3D: Rework the dirty system to be more consistant and scaleable * maxwell3d: Implement Conditional Rendering * shader_ir: std::move Node instance where applicable * shader_ir: Rename Get/SetTemporal to Get/SetTemporary * shader_ir: Remove unused includes * Shader_Ir: Correct tracking to track from right to left * shader/decode/other: Correct branch indirect argument within BRA handling * gl_shader_cache: Fix clang-format issues * gl_shader_decompiler: Stub local memory size * gl_shader_cache: Address review commentaries * gl_shader_cache: Address CI issues * gl_rasterizer: Implement compute shaders * shader: Allow tracking of indirect buffers without variable offset * Texture_Cache: Address Feedback * Texture_Cache: Remove some unprecise fallback case and clang format * Texture_Cache: Force Framebuffer reset if an active render target is unregistered. * GPU: Add a microprofile for macro interpreter * GL_State: Add a microprofile timer to OpenGL state. * Gl_Texture_Cache: Measure Buffer Copy Times * Texture_Cache: Correct Linear Structural Match. * Finalize Azure Pipelines Definitions * core: Remove CurrentArmInterface() global accessor * Clang format * Addressed issues * "AudioRenderer" thread should have a unique name * Remove unicorn mappings/unmappings * gl_shader_decompiler: Fix gl_PointSize redeclaration * service/am: Implement IsAutoSleepDisabled * service/am: Implement SetAutoSleepDisabled * yuzu: Remove setting for using Unicorn * core/arm: Remove obsolete Unicorn memory mapping * Restore memory perms on svcUnmapMemory/UnloadNro * gl_shader_decompiler: Fix conditional usage of GL_ARB_shader_viewport_layer_array * Add Repository Sync Pipeline * Add Pipeline Definitions * Set up CI with Azure Pipelines * shader_ir: Add comments on missing instruction. * prefer system reference over global accessor * shader_ir: limit explorastion to best known program size. * control_flow: Correct block breaking algorithm. * control_flow: Assert shaders bigger than limit. * control_flow: Address feedback. * shader_ir: Correct parsing of scheduling instructions and correct sizing * shader_ir: Correct max sizing * shader_ir: Remove unnecessary constructors and use optional for ScanFlow result * shader_ir: Corrections, documenting and asserting control_flow * shader_ir: Unify blocks in decompiled shaders. * shader_ir: Decompile Flow Stack * shader_ir: propagate shader size to the IR * shader_ir: Implement BRX & BRA.CC * shader_ir: Remove the old scanner. * shader_ir: Implement a new shader scanner * IFriendService::GetFriendList * gl_rasterizer: Amend documentation comment for ConfigureFramebuffers() * Prevent merging of device mapped memory blocks. * addressed issues * addressed issue * gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders * Remove unused member function declaration * physmem: add helpers, cleanup logic. * Delete decode_integer_set.cpp * clang-format fixes * shader/texture: Add F16 support for TLDS * address review commentary * Implement MapPhysicalMemory/UnmapPhysicalMemory * kernel/process: Allocate the process' TLS region during initialization * kernel/process: Move main thread stack allocation to its own function * vk_sampler_cache: Remove unused includes * video_core: Add missing override specifiers * yuzu/main: Make error messages within OnCoreError more localization-friendly * vk_scheduler: Drop execution context in favor of views * mii: Implement IDatabaseService SetInterfaceVersion * clang-format fixes * am: Implement GetAccumulatedSuspendedTickValue * memory: Remove unused includes * memory: Remove unused PageTable forward declaration * kernel/vm_manager: Rename 'new map' to 'stack' * buffer_cache: Avoid [[nodiscard]] to make clang-format happy * buffer_cache: Try to fix MinGW build * gl_rasterizer: Fix nullptr dereference on disabled buffers * gl_rasterizer: Minor style changes * gl_rasterizer: Fix vertex and index data invalidations * gl_buffer_cache: Implement with generic buffer cache * buffer_cache: Implement a generic buffer cache * gl_buffer_cache: Remove global system getters * gl_device: Query SSBO alignment * gl_buffer_cache: Implement flushing * gl_rasterizer: Drop gl_global_cache in favor of gl_buffer_cache * gl_buffer_cache: Rework to support internalized buffers * gl_buffer_cache: Store in CachedBufferEntry the used buffer handle * gl_buffer_cache: Return used buffer from Upload function * gl_rasterizer: Add some commentaries * gl_rasterizer: Make DrawParameters rasterizer instance const * gl_rasterizer: Move index buffer uploading to its own method * kernel/vm_manager: Handle stack/TLS IO region placement better * core/reporter: Allow moves into SaveToFile() * core/reporter: Add missing includes and forward declarations * core/reporter: Remove unnecessary namespace qualifiers * core/reporter: Remove pessimizing move in GetHLERequestContextData() * core/reporter: Make bracing consistent * core/reporter: Return in error case in SaveToFile() * NVServices: Correct delayed responses. * Nv_Host_Ctrl: Correct difference calculation * NVServices: Address Feedback * NVServices: Styling, define constructors as explicit and corrections * NVFlinger: Correct GCC compile error * NVServices: Make NVEvents Automatic according to documentation. * NVServices: Correct CtrlEventWaitSync to block the ipc until timeout. * GPU: Correct Interrupts to interrupt on syncpt/value instead of event, mirroring hardware * nvflinger: Make the force 30 fps still force 30 fps * nv_services: Fixes to event liberation. * nvflinger: Acquire buffers in the same order as they were queued. * nv_services: Deglobalize NvServices * gpu_asynch: Simplify synchronization to a simpler consumer->producer scheme. * nv_host_ctrl: Make Sync GPU variant always return synced result. * Async GPU: do invalidate as synced operation * Gpu: use an std mutex instead of a spin_lock to guard syncpoints * nvhost_ctrl: Corrections to event handling * Gpu: Mark areas as protected. * nv_services: Stub CtrlEventSignal * Gpu: Implement Hardware Interrupt Manager and manage GPU interrupts * nv_services: Implement NvQueryEvent, NvCtrlEventWait, NvEventRegister, NvEventUnregister * nv_services: Create GPU channels correctly * video_core: Implement GPU side Syncpoints * nv_services: Correct buffer queue fencing and GPFifo fencing * nvflinger: Implement swap intervals * texture_cache: Address Feedback * texture_cache: Correct Texture Buffer Uploading * yuzu: Remove CPU Jit setting from the UI * gl_shader_cache: Make CachedShader constructor private Fixes missing review comments introduced. * kernel/process: Default initialize all member variables * kernel/process: Decouple TLS handling from threads * kernel/vm_manager: Add overload of FindFreeRegion() that operates on a boundary * file_sys: Rename other ContentRecordType members * audren: Only manage wave buffers with a size * rasterizer_cache: Protect inherited caches from submission level * IAudioDevice::QueryAudioDeviceOutputEvent * file_sys/registered_cache: Improve missing metadata error * file_sys/submission_package: Don't warn about missing DeltaFragment NCAs * file_sys/registered_cache: Ignore DeltaFragment NCAs during installation * file_sys: Rename ContentRecordType::Patch to DeltaFragment * hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignment * texture_cache: Pack sibling queries inside a method * texture_cache: Use std::vector reservation for sampled_textures * texture_cache: Style changes * texture_cache: Use std::array for siblings_table * texture_cache: Address feedback * Revert "CMake: Get Git submodule dependencies via CMake (#2474)" * am: Implement SetCpuBoostMode in terms of APM * core: Keep instance of APM Controller * apm: Implement SetCpuBoostMode * apm: Add getters for performance config and mode * apm: Add apm:am service 8.0.0+ identical version of apm * apm: Add Controller class to manage speed data and application * fsp-srv: Implement GetAccessLogVersionInfo * reporter: Add report class for filesystem access logs * fsp-srv: Implement OutputAccessLogToSdCard Allows games to log data to the SD. * set: Implement GetQuestFlag * settings: Add config option for kiosk (quest) mode * Attemp clang format fix? * Added errors.h to cmakelist * Addressed issues * Addressed issues * Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted * pm: Implement pm:shell and pm:dmnt GetApplicationPid Returns the process ID of the current application or 0 if no app is running. * pm: Implement pm:dmnt GetTitlePid Takes a title ID and searches for a matching process, returning error if it doesn't exist, otherwise the process ID. * pm: Implement pm:info GetTitleId Searches the process list for a process with the specified ID, returning the title ID if it exists. * Addressed issues * glue: Correct missing bytes in ApplicationLaunchParameter * texture_cache: Correct variable naming. * gl_texture_cache: Correct asserts * texture_cache: Corrections, documentation and asserts * surface_params: Corrections, asserts and documentation. * copy_params: use constexpr for constructor * gl_texture_cache: Corrections and fixes * gl_resource_manager: Correct MakeStreamCopy * texture_cache: Query MemoryManager from the system * Implement Time::GetSharedMemoryNativeHandle * SizedNotificationInfo should be 0x10 bytes, user_uuid is incorrect, this should be the users account id * fixed spelling errors and fixed issue with Pop not returning the SizedNotificationInfo * applets: Pass current process title ID to applets * general_frontend: Add documentation for parental controls and ecommerce applets * web_browser: Only delete temporary directory if it was created Prevents crashes with ShopN applet occasionally. * web_browser: Take ECommerce applet frontend optionally in constructor * frontend: Add base class and default impl for ECommerce applet frontend * web_browser: Use function tables for execute and initialize * web_browser: Correct structures and properly parse TLVs/ShimKind * yuzu: Accept default applets for Parental Controls and ECommerce * applets: Track ECommerce and Parental Control applet frontends * web_browser: Rename OpenPage to OpenPageLocal * frontend: Add base class and default impl of parent controls applet frontend * applets: Implement Auth applet backend * core: Keep track of ARPManager and register current application on boot * glue: Implement arp:w and arp:r services These keep track of running process' launch properties and control properties and allows for issuing and reading them by process and title ID. * glue: Add errors for glue/arp services * glue: Add scaffolding for bgtc:t and bgtc:sc services * arp: Move to glue services Glue is the name of the sysmodule that contains both arp and bgtc. * glue: Add manager to keep track of application registry Manages mapping between title IDs and application launch and control properties. * registered_cache: Add getter to determine source slot in content provider union Used to determine StorageId source for application data. * patch_manager: Add getter for title version * texture_cache: Include "core/core.h" * gl_texture_cache: Explicitly add indirect include * texture_cache/surface_view: Address feedback * texture_cache/surface_base: Address feedback * video_core/surface: Address feedback * decode/texture: Address feedback * renderer_opengl/utils: Remove unused includes and unused forward declaration * gl_texture_cache: Address some feedback * gl_shader_disk_cache: Address feedback * gl_shader_decompiler: Address feedback * shader_bytecode: Include missing <array> * common/alignment: Address feedback * Implemented INotificationService * Update reporter.cpp * service/acc: Silence truncation warnings * texture_cache: Style and Corrections * shader_cache: Correct versioning and size calculation. * texture_cache: Eliminate linear textures fallthrough * texture_cache: Correct format R16U as sibling * texture_cache: Implement texception detection and texture barriers. * texture_cache: Corrections to buffers and shadow formats use. * texture_cache: Implement Irregular Views in surfaces * surface: Correct format S8Z24 * texture_cache: Initialize all siblings to invalid pixel format. * gl_texture_cache: Use Stream Buffers instead of Persistant for Buffer Copies. * gl_texture_cache: Correct Image Blit * decoders: correct block calculation * texture_cache: Use siblings textures on Rebuild and fix possible error on blitting * texture_cache: Remove old rasterizer cache * texture_cache: Implement siblings texture formats. * fermi2d: Correct Origin Mode * texture_cache: correct texture buffer on surface params * texture_cache: eliminate accelerated depth->color/color->depth copies due to driver instability. * texture_cache: correct mutex locks * shader_ir: Fix image copy rebase issues * texture_cache: Don't Image Copy if component types differ * texture_cache: move some large methods to cpp files * texture_cache: Optimize GetSurface and use references on functions that don't change a surface. * texture_cache: Implement Buffer Copy and detect Turing GPUs Image Copies * texture_cache uncompress-compress is untopological. * texture_cache: Correct copying between compressed and uncompressed formats * texture_cache: Only load on recycle with accurate GPU. * Fix rebase errors * texture_cache: Handle uncontinuous surfaces. * texture_cache: return null surface on invalid address * texture_cache: Add checks for texture buffers. * texture_cache: Fermi2D reform and implement View Mirage * gl_shader_decompiler: Implement image binding settings * shader: Implement bindless images * shader: Decode SUST and implement backing image functionality * gl_rasterizer: Track texture buffer usage * video_core: Make ARB_buffer_storage a required extension * gl_rasterizer_cache: Use texture buffers to emulate texture buffers * maxwell_3d: Partially implement texture buffers as 1D textures * gl_shader_decompiler: Allow 1D textures to be texture buffers * shader: Implement texture buffers * texture_cache: loose TryReconstructSurface when accurate GPU is not on. * texture_cache: Document the most important methods. * texture_cache: Try to Reconstruct Surface on bigger than overlap. * texture_cache: Implement Guard mechanism * texture_cache: General Fixes * surface_params: Ensure pitch is always written to avoid surface leaks * gl_framebuffer_cache: Use a hashed struct to cache framebuffers * texture_cache return invalid buffer on deactivated color_mask * engine_upload: Addapt to new Texture Cache * surface_params: Optimize CreateForTexture * gl_texture_cache: Make main views be proxy textures instead of a full view. * texture_cache: Add ASync Protections * Remove Framebuffer reconfiguration and restrict rendertarget protection * texture_cache: Implement GPU Dirty Flags * texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepth * texture_cache: Implement L1_Inner_cache * video_core: Use un-shifted block sizes to avoid integer divisions * texture_cache: Change internal cache from lists to vectors * Reduce amount of size calculations. * texture_cache: Correct premature texceptions * texture_cache: Implement guest flushing * Fixes to mipmap's process and reconstruct process * surface_base: Add parenthesis to EmplaceOverview's predicate * Texture Cache: Implement Blitting and Fermi Copies * surface_view: Add constructor for ViewParams * surface_base: Split BreakDown into layered and non-layered variants * surface_base: Silence truncation warnings and minor renames and reordering * copy_params: Use constructor instead of C-like initialization * Correct Mipmaps View method in Texture Cache * Change texture_cache chaching from GPUAddr to CacheAddr * Corrections to Structural Matching * Implement Texture Cache V2 * Correct Surface Base and Views for new Texture Cache * Add OGLTextureView * Deglobalize Memory Manager on texture cahe and Implement Invalidation and Flushing using GPUVAddr * texture_cache: Remove execution context copies from the texture cache * gl_texture_cache: Implement fermi copies * texture_cache: Split texture cache into different files * texture_cache: Move staging buffer into a generic implementation * texture_cache: Flush 3D textures in the order they are drawn * gl_texture_cache: Minor changes * gl_texture_cache: Add copy from multiple overlaps into a single surface * gl_texture_cache: Attach surface textures instead of views * gl_texture_cache: Add fast copy path * gl_texture_cache: Initial implementation * freezer: Update documentation * core: Move Freezer class to tools namespace * freezer: Add documentation for methods * memory: Add class to manage and enforce memory freezing * Revert PR 2590. * CMake: Get Git submodule dependencies via CMake (#2474) * Update content_archive.cpp * Change to a more descriptive name * yuzu/configure_input: Add missing space in window name * Added missing space between two words * core: Remove unused CiTrace source files * service/audio/audren_u: Correct event reset type for the system event * Addressed issues * Core_Timing: Make core_timing threadsafe by default. * Signalled accumulated_suspended_tick_changed_event on creation based on RE * Cleanup * Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEvent * file_sys/ips_layer: Remove unnecessary reserve() call * common/hex_util: Reserve std::string memory ahead of time * common/hex_util: Combine HexVectorToString() and HexArrayToString() * file_sys/card_image: Remove obsolete TODO * kernel/vm_manager: Remove redundant Reset call in destructor * gl_device: Fix TestVariableAoffi test * file_sys/nca_metadata: Update CNMT structures * file_sys/card_image: Deduplicate casts within AddNCAFromPartition() * file_sys/card_image: Make bracing consistent * file_sys/card_image: Assign collapsed NCA contents directly to ncas member * file_sys/card_image: Deduplicate type cast * file_sys/card_image: Get rid of a magic number * file_sys/card_image: Use std::array deduction guides * yuzutest: Add minor comments * kernel: Differentiate kernel and user processes when picking ID This allows kernel internal type processes to be assigned IDs in the KIP range while userland processes are assigned in the user range. * yuzu_tester: Display results in table format * yuzutest: Support multiple tests per executable * yuzu_tester: Add 'yuzutest' service * yuzu_tester: Add SDL2-based EmuWindow that doesn't show the window * yuzu_tester: Use config, icon, and main from yuzu-cmd * yuzu_tester: Add project subdirectory * kernel/process: Make Create()'s name parameter be taken by value * kernel/svc: Implement TotalMemoryUsedWithoutMmHeap/TotalMemoryAvailableWithoutMmHeap * kernel/svc: Amend naming for TotalMemoryUsage in svcGetInfo() * kernel/svc: Remove duplicate enum entry in svcGetInfo() * GPUVM: Correct GPU VM virtual address space * .github: Create FUNDING.yml * kepler_compute: Use std::array for cbuf info * kepler_compute: Fix block_dim_x encoding * gl_shader_cache: Use static constructors for CachedShader initialization * gl_rasterizer: Remove unused parameters in descriptor uploads * video_core/engines: Move ConstBufferInfo out of Maxwell3D * constants: Extract backup JPEG used by account services * shader: Split SSY and PBK stack * kernel_executable: Optimize BLZ decompression * cmake: Add missing shader hash file entries * shader/node: Minor changes * shader: Move Node declarations out of the shader IR header * yuzu/configuration: Make all widgets and dialogs aware of language changes * shader: Use shared_ptr to store nodes and move initialization to file * service/ns: Add missing override specifiers * yuzu/CMakeLists: Disable implicit QString->QUrl conversions * yuzu/CMakeLists: Disable unsafe overloads of QProcess' start() function * yuzu/CMakeLists: Disable implicit type narrowing in connect() calls * yuzu/configuration: Make function naming consistent * kernel/process: Remove unused boost header include * game_list: Accept *.kip as a file extension of executables * loader: Add recognition for KIP file type * loader: Add KIP and INI file parser-specific errors * loader: Add AppLoader_KIP for KIP files * program_metadata: Add function to load meta from raw parameters Needed for KIP loading as KIPs do not have an NPDM but do have the essential parts of the data within. * partition_data_manager: Remove KIP processing and use FileSys Previously, this TU contained the necessary headers to parse KIP/INI but now it should just use the FileSys class. * file_sys: Add classes to parse KIP1 and INI1 files * core/core_timing_util: Amend casing of cyclesTo* functions * core/core_timing_util: Use std::chrono types for specifying time units * core/core_timing_utils: Simplify overload set * shader_bytecode: Mark EXIT as flow instruction * input_common/sdl/sdl_impl: Correct logging string in SDLState constructor * input_common/sdl/sdl_impl: Move documentation comments to header where applicable * input_common/sdl/sdl_impl: Amend names for axes for SDLAnalogPoller * input_common/sdl/sdl_impl: Mark variables const where applicable * input_common/sdl/sdl_impl: Mark SDLEventToButtonParamPackage() as static * input_common/sdl/sdl_impl: Convert reinterpret_cast into a static_cast * input_common/sdl/sdl_impl: Use insert_or_assign() where applicable * input_common/sdl/sdl_impl: Simplify SDL_Joystick deleter handling * input_common/sdl/sdl_impl: Resolve two sign conversion warnings * input_common/sdl: Remove unused header includes and forward declarations * input_common/sdl/sdl_impl: Use nested namespace specifiers where applicable * yuzu/bootmanager: Log out screenshot destination path * yuzu/bootmanager: Treat the resolution factor as a u32 * yuzu/bootmanager: Default EmuThread's destructor in the cpp file * yuzu/bootmanager: unsigned -> u32 * yuzu/bootmanager: Change false literal to 0 for setSwapInterval() * yuzu/bootmanager: Remove pointer downcast in GRenderWindow's constructor * yuzu/bootmanager: Remove unnecessary pointer casts * gl_shader_decompiler: Remove guest "position" varying * input_common/sdl/sdl_impl: Silence sign conversion warnings * common/math_util: Provide a template deduction guide for Common::Rectangle * game_list_worker: Use QFile over our own IOFile instance or std streams * game_list_worker: Remove template specializations * gl_shader_cache: Store a system class and drop global accessors * gl_shader_cache: Add commentaries explaining the intention in shaders creation * gl_shader_cache: Flip if condition in GetStageProgram to reduce indentation * gl_buffer_cache: Remove unused ReserveMemory method * maxwell_to_gl: Use GL_CLAMP to emulate Clamp wrap mode * gl_rasterizer: Move alpha testing to the OpenGL pipeline * gl_rasterizer: Use GL_QUADS to emulate quads rendering * rasterizer_opengl: Remove OpenGL core profile * main: Remove extraneous comment * Remove outdated info about compability * qt: Silence name collision warnings * yuzu: Remove unused birthday setting * yuzu/software_keyboard: Remove unnecessary GetStatus() member function * profile_select: Remove unnecessary GetStatus() member function * profile_select: Return int instead of u32 for GetIndex() * core/core: Remove unnecessary includes * yuzu_cmd/yuzu: Correct formatting specifier * core/loader: Remove LoadKernelSystemMode * core/telemetry_session: Remove unnecessary web service nulling out in destructor * core/telemetry_session: Remove usages of the global system accessor * core/telemetry_session: Explicitly delete copy and move constructors * core/telemetry_session: Remove unused include * gl_device: Add commentary to AOFFI unit test source code * gl_shader_gen: Always declare extensions after the version declaration * ncm: Implement LR OpenAddOnContentLocationResolver (2) * ncm: Implement LR OpenRegisteredLocationResolver (1) * ncm: Implement LR OpenLocationResolver (0) * game_list_worker: Add better error handling to caching * yuzu: Clear partial/full game list cache when data is updated * game_list: Implement caching for game list * ui_settings: Add option to cache game list * loader: Move NSO module tracking to AppLoader * vk_device: Let formats array type be deduced * vk_shader_decompiler: Misc fixes * vk_device: Enable features when available and misc changes * emu_window: Pass OnMinimalClientAreaChangeRequest argument by copy * core_timing_util: Silence sign-comparison warnings * loader/nso: Silence sign-comparison warning * yuzu_cmd: Split emu_window OpenGL implementation into its own file * prepo: Save reports from PlayReport service Logs a lot of seemingly innocuous telemetry games generate. * fatal: Save report on fatal:u call Matches offical behavior with creport and replaces old log/text based report system. * service: Save report on unimplemented function call * applets/error: Save report on error applet This matches official behavior with the erpt/eclct/eupld service chain. * applets: Save report on stubbed applet This also reworks the applet data storage to be peekable. * svc: Save report on call to svcBreak * core: Add Reporter class to take/save reports * qt: Make UI option for 'Reporting Services' temporary Reports are unnecessary for normal users and this is to prevent 'power' users from enabling the feature by accident. * settings: Add 'Reporting Services' config option Full enable/disable for all reports. * arm_interface: Expand backtrace generation Returns results as a vector of entries for further processing. Logs addresses, offsets, and mangled name. * core: Track load offsets of NSO modules Needed for backtrace decomposition * configure_hotkeys: Remove unnecessary Settings::Apply() call * configure_hotkeys: Tidy up key sequence conflict error string * configure_hotkeys: Change critical error dialog into a warning dialog * configure_hotkeys: Move conflict detection logic to IsUsedKey() * configure_hotkeys: Remove unused EmitHotkeysChanged() * sequence_dialog: Reorganize the constructor * sequence_dialog: Remove unnecessary horizontal specifier * renderer_opengl/utils: Use a std::string_view with LabelGLObject() * yuzu/configuration/configure_graphics: Eliminate type narrowing in a connect call * yuzu/CMakeLists: Disable implicit QString conversions * yuzu/applets/software_keyboard: Remove unused assert header * yuzu/applets/software_keyboard: std::move argument in MainWindowFinishedText() * yuzu/applets/software_keyboard: Resolve sign mismatch comparison * yuzu/applets/software_keyboard: Specify string conversions explicitly * yuzu/applets/error: Specify string conversions explicitly * yuzu/main: Specify string conversions where applicable * gl_shader_decompiler: Use an if based cbuf indexing for broken drivers * gl_device: Add test to detect broken component indexing * common/file_util: Remove unnecessary return at end of void StripTailDirSlashes() * common/file_util: Make GetCurrentDir() return a std::optional * common/file_util: Remove duplicated documentation comments * common/file_util: Make ReadFileToString and WriteStringToFile consistent * common/file_util: Remove unnecessary c_str() calls * common/file_util: Make IOFile's WriteString take a std::string_view * Fix bitmask logic inversion * fix introduced clang-format errors * Address review comments * clang-format fixes * Implement IApplicationFunctions::GetDesiredLanguage * shader/shader_ir: Make Comment() take a std::string by value * shader/decode/*: Add missing newline to files lacking them * shader/decode/*: Eliminate indirect inclusions * service/aoc: Avoid allocating and discarding data * service/aoc: Remove unnecessary includes * service/aoc: Pop all passed values where applicable * shader/decode/memory: Remove left in debug pragma * externals: Update glad to support OpenGL 4.6 compatibility profile * renderer_opengl/gl_shader_decompiler: Remove redundant name specification in format string * gl_shader_cache: Fix clang strict standard build issues * gl_shader_cache: Use shared contexts to build shaders in parallel * shader/memory: Implement ST (generic memory) * shader/memory: Implement LD (generic memory) * yuzu/configuration/config: Make default hotkeys an internally-linked array in the cpp file * yuzu/configuration/config: Specify string conversions explicitly * shader: Implement S2R Tid{XYZ} and CtaId{XYZ} * gl_shader_decompiler: Make GetSwizzle constexpr * yuzu/game_list: Specify string conversions explicitly * yuzu/game_list_worker: Specify string conversions explicitly * yuzu/game_list_p: Amend mentions of SMDH in comments * yuzu/game_list_p: Specify string conversions explicitly * yuzu/loading_screen: Specify string conversions explicitly * yuzu/bootmanager: Specify string conversions explicitly * yuzu/util: Specify string conversions explicitly * gl_shader_decompiler: Tidy up minor remaining cases of unnecessary std::string concatenation * gl_shader_decompiler: Replace individual overloads with the fmt-based one * gl_shader_decompiler: Utilize fmt overload of AddLine() where applicable * Revert #2466 * gl_shader_decompiler: Add AddLine() overload that forwards to fmt * yuzu/configuration/configure_web: Specify string conversions explicitly * yuzu/configuration/configure_system: Specify string conversions explicitly * yuzu/configuration/configure_profile_manager: Mark UI string as translatable * yuzu/configuration/configure_per_general: Specify string conversions explicitly * yuzu/configuration/configure_mouse_advanced: Clean up array accesses * yuzu/configuration/configure_mouse_advanced: Specify string conversions explicitly * yuzu/configuration/configure_input_player: Clean up array accesses * yuzu/configuration/configure_input_player: Specify string conversions explicitly * yuzu/configuration/configure_input: Mark controller type names as translateable * yuzu/configuration/configure_general: Specify string conversions explicitly * yuzu/configuration/configure_gamelist: Specify string conversions explicitly * yuzu/configuration/configure_audio: Store power on query into a variable * yuzu/configuration/configure_audio: Tidy up function cast * yuzu/configuration/configure_audio: Specify string conversions explicitly * Dma_pusher: ASSERT on empty command_list * shader/shader_ir: Remove unnecessary inline specifiers * shader/shader_ir: Simplify constructors for OperationNode * shader/shader_ir: Remove unnecessary template parameter packs from Operation() overloads where applicable * shader/shader_ir: Mark tracking functions as const member functions * yuzu/util: Remove unused spinbox.cpp/.h * shader/shader_ir: Place implementations of constructor and destructor in cpp file * gl_shader_gen: std::move objects where applicable * gl_shader_disk_cache: in-class initialize virtual file offset of ShaderDiskCacheOpenGL * gl_shader_disk_cache: Default ShaderDiskCacheOpenGL's destructor in the cpp file * gl_shader_disk_cache: Make hash specializations noexcept * gl_shader_disk_cache: Remove redundant code string construction in LoadDecompiledEntry() * gl_shader_disk_cache: Make variable non-const in decompiled entry case * gl_shader_disk_cache: Special-case boolean handling * yuzu/applets/profile_select: Mark header string as translatable * yuzu/debugger/graphics/graphics_breakpoints: Specify string conversions explicitly * yuzu/debugger/profiler: Specify string conversions explicitly * yuzu/debugger/wait_tree: Specify string conversions explicitly * ipc_helpers: Amend floating-point type in Pop<double> specialization * Address review comment * kernel/svc: Mark GetThreadList() and UnmapProcessCodeMemory() as internally linked * service/am: Add missing return in error case for IStorageAccessor's Read()/Write(). * core/kernel/object: Rename ResetType enum members * HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread * gl_rasterizer: Limit OpenGL point size to a minimum of 1 * maxwell_to_gl: Add TriangleFan primitive topology * gl_rasterizer: Pass the right number of array quad vertices count * qt/configure_graphics: Shadow options at runtime * yuzu_cmd: Use OpenGL compat when asked in the settings * yuzu_cmd: Make OpenGL's context current * yuzu/bootmanager: Explicitly enable deprecated OpenGL features on compat * CMakeLists: Handle VS 2019 in a less annoying manner * maxwell_3d: reduce sevirity of different component formats assert. * video_core/engines/engine_upload: Amend constructor initializer list order * video_core/engines/engine_upload: Default destructor in the cpp file * video_core/engines/engine_upload: Remove unnecessary const on parameters in function declarations * video_core/engines/engine_upload: Remove unnecessary includes * video_core/engines/maxwell3d: Get rid of three magic values in CallMethod() * video_core/engines/maxwell_3d: Simplify for loops into ranged for loops within InitializeRegisterDefaults() * video_core/engines/maxwell_3d: Add is_trivially_copyable_v check for Regs * yuzu: Remove explicit types from locks where applicable * video_core/gpu_thread: Remove redundant copy constructor for CommandDataContainer * GPU/MMEInterpreter: Ignore the 'exit' flag when it's executed inside a delay slot. * service/set: Correct and simplify behavior related to copying language codes * video_core/memory_manager: Mark IsBlockContinuous() as a const member function * video_core/memory_manager: Mark the constructor as explicit * video_core/memory_manager: Default the destructor within the cpp file * video_core/memory_manager: Amend doxygen comments * video_core/memory_manager: Remove superfluous const from function declarations * video_core/renderer_opengl/gl_shader_cache: Correct member initialization order * video_core/shader/decode/texture: Remove unused variable from GetTld4Code() * renderer_vulkan/vk_shader_decompiler: Remove unused variable from DeclareInternalFlags() * video_core/renderer_opengl/gl_shader_decompiler: Remove unused Composite() function * video_core/renderer_opengl/gl_rasterizer_cache: Remove unused variable in UploadGLMipmapTexture() * video_core/gpu_thread: Remove unused local variable * video_core/textures/astc: Remove unused variables * CMakeLists: Specify /volatile:iso for MSVC * configure_dialog: Remove the Whats This? button from the dialog * yuzu/hotkeys: Remove unnecessary constructor * yuzu/main: Move window title updating logic to its own function * yuzu/about_dialog: Specify string conversions explicitly * yuzu/compatdb: Remove unnecessary qualifiers * configuration/config: Move config loading and saving to functions based off groups * src/CMakeLists: Add /Zc:externConstexpr to the MSVC build flags * src/CMakeLists: Vertically order compilation flags * core/memory: Remove unused FlushMode enum * Correct possible error on Rasterizer Caches * externals: Update dynarmic to master * travis: Update to using Xcode 10.2 * core/telemetry_session: Only create the backend when we really need it * shader/decode/texture: Remove unused variable * CMakeLists: Explicitly specify -Wall for the non-MSVC case * gl_rasterizer: Silence unused variable warning * common/zstd_compression: Remove #pragma once directive from source file * core/frontend/emu_window: Make GraphicsContext's destructor virtual * shader_ir/other: Implement IPA.IDX * gl_shader_decompiler: Skip physical unused attributes * shader_ir/memory: Assert on non-32 bits ALD.PHYS * shader: Add physical attributes commentaries * gl_shader_decompiler: Implement GLSL physical attributes * shader_ir/memory: Implement physical input attributes * gl_shader_decompiler: Abstract generic attribute operations * gl_shader_decompiler: Declare all possible varyings on physical attribute usage * shader: Remove unused AbufNode Ipa mode * shader_ir/memory: Emit AL2P IR * shader_bytecode: Add AL2P decoding * Refactors and name corrections. * service/audren_u: Handle variadic command buffers in GetWorkBufferSize() * service/audren_u: Handle version 2 of performance frame info in GetWorkBufferSize() * service/audren_u: Clean up work buffer calculations * gl_shader_disk_cache: Skip stored shader variants instead of asserting * Fix Layered ASTC Textures * loader/nso: Remove left-in debug pragma * kernel/svc: Make svcCreateThread/svcStartThread/svcSleepThread/svcExitThread calls show up in the debug log * kernel/svc: Reorganize svcSetThreadCoreMask() * kernel/thread: Update thread processor ID flags * service/audctl: Update documentation comments to be relative to 8.0.0 * shader_ir: Move Sampler index entry in operand< to sort declarations * shader_ir: Add missing entry to Sampler operand< comparison * shader_ir/texture: Fix sampler const buffer key shift * mii_manager: Fix incorrect loop condition in mii UUID generation code * profile_select: Port Service::Account::UUID to Common::UUID * mii: Implement Delete and Destroy file * mii: Implement IsUpdated command (IPC 0) * mii_manager: Cleanup and optimization * mii: Implement IDatabaseService commands using MiiManager * mii: Add MiiManager class to manage Mii database * common: Extract UUID to its own class * Re added new lines at the end of files * gl_shader_disk_cache: Compress precompiled shader cache file with Zstandard * gl_shader_disk_cache: Use VectorVfsFile for the virtual precompiled shader cache file * gl_shader_disk_cache: Remove per shader compression * Fixes and Corrections to DMA Engine * Add Swizzle Parameters to the DMA engine * Add Documentation Headers to all the GPU Engines * Corrections and styling * Implement Maxwell3D Data Upload * Introduce skeleton of the GPU Compute Engine. * Revamp Kepler Memory to use a subegine to manage uploads * Rasterizer Cache: Use a temporal storage for Surfaces loading/flushing. * Corrections Half Float operations on const buffers and implement saturation. * Launch directly in Mac without terminal * Allow picking a Compatibility Profile for OpenGL. * Apply Position Y Direction * RasterizerCache Redesign: Flush * make ReadBlockunsafe and WriteBlockunsafe, ignore invalid pages. * gl_state: Fix samplers memory corruption * service/audctl: Implement GetTargetVolumeMin() and GetTargetVolumeMax() * video_core: Silent -Wswitch warnings * web_browser: Make OpenPage non-const * main: Add GMainWindow hooks for Error display * main: Switch to AppletManager for frontend * qt: Add dialog implementation of Error applet * general_backend: Move StubApplet and add backend PhotoViewer * general_frontend: Add frontend scaffold for PhotoViewer applet * frontend: Add frontend receiver for Error applet * applets: Add Error applet * applets: Port current applets to take frontend in constructor * web_browser: Make OpenPage const * core: Remove specific applets in favor of AppletManager * am: Delegate applet creation to AppletManager * applets: Add AppletManager class to control lifetime * kernel/thread: Unify wait synchronization types * kernel/svc: Migrate svcCancelSynchronization behavior to a thread function * CMakeLists: Ensure we specify Unicode as the codepage on Windows * kernel/vm_manager: Remove usages of global system accessors * Implement IsBlockContinous * Apply Const correctness to SwizzleKepler and replace u32 for size_t on iterators. * Use ReadBlockUnsafe for fetyching DMA CommandLists * Document unsafe versions and add BlockCopyUnsafe * Use ReadBlockUnsafe for Shader Cache * Use ReadBlockUnsafe on TIC and TSC reading * GPU MemoryManager: Implement ReadBlockUnsafe and WriteBlockUnsafe * Use WriteBlock and ReadBlock. * Implement Block Linear copies in Kepler Memory. * travis: Use Ninja for Travis builds * GenerateSCMRev: fix Travis compilation on repo forks * travis: use prebuilt image (#3839) * Correct Kepler Memory on Linear Pushes. * Support compressed formats on linear textures. * gl_shader_decompiler: Use variable AOFFI on supported hardware * gl_device: Implement interface and add uniform offset alignment ------------------------------------------------------------------- Sat Apr 20 18:35:50 UTC 2019 - pousaduarte@gmail.com - Update to version 20190420: * kernel/svc: Name supervisor call 0x36 * kernel/wait_object: Make GetHighestPriorityReadyThread() a const member function * yuzu/bootmanager: Replace unnnecessary constructor initializer list member of GGLContext * yuzu/bootmanager: Remove unnecessary includes * yuzu/bootmanager: Resolve constructor initializer list warnings * vk_shader_decompiler: Add missing operations * shader_ir/decode: Fix half float pre-operations and remove MetaHalfArithmetic * gl_shader_decompiler: Fix MrgH0 decompilation * shader_ir/decode: Implement half float saturation * shader_ir/decode: Reduce severity of unimplemented half-float FTZ * renderer_opengl: Implement half float NaN comparisons * shader_ir: Avoid using static on heap-allocated objects * Do some corrections in conversion shader instructions. * CMakeLists: Define QT_USE_QSTRINGBUILDER for the Qt target * svc: Specify handle value in thread's name * common/{lz4_compression, zstd_compression}: Add missing header guards * Correct Pitch in Fermi2D * kernel/thread: Remove BoostPriority() * kernel/thread: Remove unused guest_handle member variable * shader_ir: Implement STG, keep track of global memory usage and flush * kernel/svc: Implement svcUnmapProcessCodeMemory * kernel/svc: Implement svcMapProcessCodeMemory * core/core: Move process execution start to System's Load() * core/process: Remove unideal page table setting from LoadFromMetadata() * core/core: Move main process creation into Load() * video_core/gpu: Create threads separately from initialization * core/cpu_core_manager: Create threads separately from initialization. * service: Update service function tables * gl_rasterizer: Apply just the needed state on Clear * configure_hotkeys: Pass the dialog as a parent to SequenceDialog() * configure_hotkeys: Avoid dialog memory leak within Configure() * configure_hotkeys: Mark member variables as const where applicable in Configure() * configure_hotkeys: Make comparison check a little more self-documenting * configure_dialog: Amend constructor initializer list order * configure_hotkey: Remove unnecessary include * configure_hotkey: Make IsUsedKey() a const member function * Adapt Bindless to work with AOFFI * Move ConstBufferAccessor to Maxwell3d, correct mistakes and clang format. * Fix bad rebase * Fix TMML * Simplify ConstBufferAccessor * Refactor GetTextureCode and GetTexCode to use an optional instead of optional parameters * Implement TXQ_B * Implement TMML_B * Corrections to TEX_B * Fixes to Const Buffer Accessor and Formatting * Implement Bindless Handling on SetupTexture * Unify both sampler types. * Implement Bindless Samplers and TEX_B in the IR. * Implement Const Buffer Accessor * shader_ir/memory: Reduce severity of LD_L cache management and log it * shader_ir/memory: Reduce severity of ST_L cache management and log it * gl_sampler_cache: Port sampler cache to OpenGL * video_core: Abstract vk_sampler_cache into a templated class ------------------------------------------------------------------- Mon Apr 15 11:46:57 UTC 2019 - pousaduarte@gmail.com - Update to version 20190413: * Fix Clang Format * ui_settings: Rename game directory variables * gl_shader_manager: Move code to source file and minor clean up * ldr: Mark IsValidNROHash() as a const member function * ldr: Amend parameters for LoadNro/UnloadNro LoadNrr/UnloadNrr * fsp_srv: Remove unnecessary parameter popping in IDirectory's Read() * fsp_srv: Log out option values in IFile's Read and Write functions * Implement Texture Format ZF32_X24S8. * Correct depth compare with color formats for R32F * added a toggle to force 30fps mode * bootmanager: Bypass input focus issues * bootmanager: Bypass resizing issue * bootmanager: Delete container to avoid crash on game restarting * QT: Hide GLWidget immediately after showing. * SDL Frontend: Add shared context support * QT Frontend: Migrate to QOpenGLWindow ------------------------------------------------------------------- Sat Apr 13 11:29:42 UTC 2019 - pousaduarte@gmail.com - Update to version 20190412: * common/swap: Improve codegen of the default swap fallbacks * common/swap: Mark byte swapping free functions with [[nodiscard]] and noexcept * common/swap: Simplify swap function ifdefs * common/swap: Remove 32-bit ARM path * common/scope_exit: Replace std::move with std::forward in ScopeExit() * kernel: Make handle type declarations constexpr * gl_rasterizer_cache: Relax restrictions on FastCopySurface and FastLayeredCopySurface * vk_shader_decompiler: Implement flow primitives * vk_shader_decompiler: Implement most common texture primitives * vk_shader_decompiler: Implement texture decompilation helper functions * vk_shader_decompiler: Implement Assign and LogicalAssign * vk_shader_decompiler: Implement non-OperationCode visits * vk_shader_decompiler: Implement OperationCode decompilation interface * vk_shader_decompiler: Implement Visit * vk_shader_decompiler: Implement labels tree and flow * vk_shader_decompiler: Implement declarations * vk_shader_decompiler: Declare and stub interface for a SPIR-V decompiler * video_core: Add sirit as optional dependency with Vulkan * kernel/server_session: Remove obsolete TODOs * Remove bounding in LD_C * Correct Fermi Copy on Linear Textures. * kernel/process: Set page table when page table resizes occur. * yuzu/loading_screen: Resolve runtime Qt string formatting warnings * gl_backend: Align Pixel Storage * Correct LOP_IMN encoding * Correct XMAD mode, psl and high_b on different encodings. * kernel/svc: Deglobalize the supervisor call handlers * Permit a Null Shader in case of a bad host_ptr. * core/memory: Remove unused enum constants * core/memory: Remove GetCurrentPageTable() * arm/arm_dynarmic: Remove unnecessary current_page_table member * kernel: Handle page table switching within MakeCurrentProcess() * fix clang-format target when using a path with spaces on windows * kernel/server_session: Return a std::pair from CreateSessionPair() * kernel/server_port: Return a std::pair from CreatePortPair() * maxwell_3d: Reduce severity of ProcessSyncPoint * video_core/textures/convert: Replace include with a forward declaration * video_core/texures/texture: Remove unnecessary includes * yuzu/debugger: Remove graphics surface viewer * memory_manager: Improved implementation of read/write/copy block. * renderer_opengl/utils: Skip empty binds * gl_rasterizer: Use ARB_multi_bind to update SSBOs * gl_rasterizer: Use ARB_multi_bind to update UBOs across stages * gl_state: Rework to enable individual applies * gl_shader_decompiler: Hide local definitions inside an anonymous namespace * shader_ir/decode: Silent implicit sign conversion warning * gl_shader_decompiler: Add AOFFI backing implementation * shader_ir/decode: Implement AOFFI for TEX and TLD4 * shader_ir: Implement immediate register tracking * gitmodules: Replace taps with spaces * common/zstd_compression: simplify decompression interface * gl_shader_disk_cache: Fixup clang format * gl_shader_disk_cache: Use Zstandard for compression * common/zstd_compression: Add Zstandard wrapper * common: Link libzstd_static * externals: Add libzstd_static to externals CMakeLists.txt * externals: Add Zstandard v1.3.8 * Addressed feedback * core: Do not link LZ4 to core. Use common/data_compression for nso segment decompression instead. * patch_manager: Dump NSO name with build ID * game_list: Register content with ContentProvider * core: Port current uses of RegisteredCache to ContentProvider * core: Store system-wide ContentProvider for the emulator * file_sys: Create ContentProvider interface and default implementations * video_core: Implement API agnostic view based texture cache * yuzu: Make hotkeys configurable via the GUI ------------------------------------------------------------------- Sat Apr 06 13:02:25 UTC 2019 - pousaduarte@gmail.com - Update to version 20190405: * video_core/macro_interpreter: Remove assertion within FetchParameter() * video_core/macro_interpreter: Simplify GetRegister() * video_core/memory_manager: Make Read() a const qualified member function * video_core/memory_manager: Make ReadBlock() a const qualifier member function * video_core/memory_manager: Add a const qualified variant of GetPointer() * video_core/memory_manager: Make FindFreeRegion() a const member function * video_core/memory_manager: Make GpuToCpuAddress() a const member function * yuzu/debugger/graphics_surface: Display error messages for file I/O errors * yuzu/debugger/graphics_surface: Tidy up SaveSurface * yuzu/debugger/graphics_surface: Clean up connection overload deduction * Implement SyncPoint Register in the GPU. * yuzu/debugger/graphics_surface: Fill in missing surface format listings * video_core/gpu_thread: Silence truncation warning in ThreadManager's constructor * video_core/engines: Make memory manager members private * video_core/engines: Remove unnecessary inclusions where applicable * hle/result: Remove unnecessary bitfield entry for ResultCode * file_sys/program_metadata: Remove obsolete TODOs * common/multi_level_queue: Silence truncation warning in iterator operator++ * common/bit_util: Make CountLeading/CountTrailing functions have the same return types * file_sys/nca_metadata: Remove unnecessary comparison operators for TitleType * file_sys/fsmitm_romfsbuild: Utilize a string_view in romfs_calc_path_hash() * service/fsp_srv: Don't pass SaveDataDescriptor instances by value. * service/fsp_srv: Remove unnecessary unknown member in OpenSaveDataFileSystem * service/fsp_srv: Update SaveDataInfo and SaveDataDescriptor structs * filesystem: Use a std::string_view in OpenFile() * gl_shader_decompiler: Rename GenerateTemporal() to GenerateTemporary() * gl_shader_decompiler: Fix TXQ types * hle/service: Resolve unused variable warnings * core: Add missing override specifiers where applicable * video_core/renderer_opengl: Remove unnecessary includes * yuzu/main: Remove unnecessary includes * yuzu/main: Use QStringLiteral where applicable within OnTransferableShaderCacheOpenFile() * yuzu/main: Tidy up the error dialog string in OnTransferableShaderCacheOpenFile() * yuzu/main: Remove unnecessary string concatenation in OnTransferableShaderCacheOpenFile() * yuzu/main: Make open_target a QString * yuzu/main: Use static variant of QFile's exists() * common/lz4_compression: Remove #pragma once directive from the cpp file * file_sys/control_metadata: Amend naming of members * kernel/svc: Properly sanitize mutex address in WaitProcessWideKeyAtomic * service/am: Correct behavior of CreateTransferMemoryStorage() * kernel/transfer_memory: Add accessors to data and sizes * gl_shader_decompiler: Return early when an operation is invalid * kernel/server_session: Provide a GetName() override * kernel/object: Remove unused handle type entry * gpu_thread: Improve synchronization by using CoreTiming. * gl_shader_disk_cache: Use LZ4HC with compression level 9 instead of compression level 12 for less compression time * Addressed feedback * core: Do not link LZ4 to core. Use common/data_compression for nso segment decompression instead. * gl_shader_disk_cache: Use better compression for transferable and precompiled shader disk chache files * data_compression: Move LZ4 compression from video_core/gl_shader_disk_cache to common/data_compression * gl_shader_manager: Remove unnecessary gl_shader_manager inclusion * gl_shader_manager: Move using statement into the cpp file * gl_shader_manager: Remove reliance on global accessor within MaxwellUniformData::SetFromRegs() * gl_shader_manager: Amend Doxygen string for MaxwellUniformData * gdbstub: Fix some bugs in IsMemoryBreak() and ServeBreak. Add workaround to let watchpoints break into GDB. (#4651) * Use QString instead of std::string where applicable * Use constexpr char array instead of string where applicable * frontend: Open transferable shader cache for a selected game in the gamelist ------------------------------------------------------------------- Wed Apr 03 19:02:42 UTC 2019 - pousaduarte@gmail.com - Update to version 20190403: * yuzu/applets/software_keyboard: Use QDialogButtonBox standard buttons instead of custom buttons * yuzu/applets/profile_select: Use QDialogButtonBox standard buttons instead of custom buttons * yuzu/debugger/profiler: Remove unnecessary includes * kernel/svc: Implement svcGetThreadList * kernel/svc: Implement svcGetProcessList * process: Fix up compilation * kernel/thread: Make AllWaitObjectsReady() a const qualified member function * kernel/wait_object: Make ShouldWait() take thread members by pointer-to-const * kernel/thread: Avoid sign conversion within GetCommandBufferAddress() * kernel/thread: Make parameter of GetWaitObjectIndex() const qualified * kernel/resource_limit: Remove the name member from resource limits * general: Use deducation guides for std::lock_guard and std::unique_lock * kernel/shared_memory: Remove unused core/memory.h include * kernel/shared_memory: Sanitize supplied size when unmapping * core/yuzu: Remove enable_nfc setting * vk_swapchain: Implement a swapchain manager * service/am: Implement EnterFatalSection and LeaveFatalSection * service/am: Sort ISelfController's member functions according to table order * travis/macos: Use macpack to bundle dependencies * travis: Simplify macos/upload.sh * kernel/codeset: Make CodeSet's memory data member a regular std::vector ------------------------------------------------------------------- Sun Mar 31 12:46:25 UTC 2019 - pousaduarte@gmail.com - Update to version 20190330: * kernel/scheduler: Remove unused parameter to AddThread() * kernel/scheduler: Use deduction guides on mutex locks * service/fatal: Mark local variables as const where applicable * service/fatal: Remove unnecessary semicolon * service/fatal: Name FatalInfo structure members * common/thread: Remove unused functions * kernel/process: Report total physical memory used to svcGetInfo * kernel/process: Store the total size of the code memory loaded * kernel/process: Store the main thread stack size to a data member * kernel/process: Make Run's stack size parameter a u64 * kernel/process: Ensure that given stack size is always page-aligned * gpu_thread: Remove unused dma_pusher class member variable from ThreadManager * gl_rasterizer: Remove unused reference member variable from RasterizerOpenGL * video_core: Amend constructor initializer list order where applicable ------------------------------------------------------------------- Sat Mar 30 14:38:30 UTC 2019 - pousaduarte@gmail.com - Update to version 20190328: * Fixes and corrections on formatting. * Fixes to multilevelqueue's iterator. * Use MultiLevelQueue instead of old ThreadQueueList * Add MultiLevelQueue Tests * Implement intrinsics CountTrailingZeroes and test it. * Implement a MultiLevelQueue * video_core: Add missing override specifiers * video_core/gpu: Amend typo in GPU member variable name * kernel/vm_manager: Handle shrinking of the heap size within SetHeapSize() * kernel/vm_manager: Rename HeapAllocate to SetHeapSize * kernel/vm_manager: Handle case of identical calls to HeapAllocate * kernel/vm_manager: Remove unused class variables * kernel/vm_manager: Remove unnecessary heap_used data member * kernel/vm_manager: Tidy up heap allocation code * Fix small bug that kept a thread as a condvar thread after being signalled. * Add CondVar Thread State. * Small fixes to address_arbiter to better match the IDB. ------------------------------------------------------------------- Tue Mar 26 20:00:37 UTC 2019 - pousaduarte@gmail.com - Update to version 20190326: * core/cheat_engine: Make MemoryReadImpl and MemoryWriteImpl internally linked * core/core_timing: Make callback parameters consistent * kernel/kernel: Remove unnecessary forward declaration * kernel/process: Remove unused AddressMapping struct ------------------------------------------------------------------- Mon Mar 25 13:45:32 UTC 2019 - pousaduarte@gmail.com - Update to version 20190324: * loader/nso: Place translation unit specific functions into an anonymous namespace * file_sys/cheat_engine: Silence truncation and sign-conversion warnings * file_sys/cheat_engine: Remove use of global system accessors * loader/nso: Clean up use of magic constants * file_sys/patch_manager: Deduplicate NSO header * loader/nso: Fix definition of the NSO header struct * file_sys/patch_manager: Remove two magic values * Revert "Devirtualize Register/Unregister and use a wrapper instead." * memory_manager: Cleanup FindFreeRegion. * memory_manager: Use Common::AlignUp in public interface as needed. * memory_manager: Bug fixes and further cleanup. * memory: Check that core is powered on before attempting to use GPU. * maxwell_dma: Check for valid source in destination before copy. * memory_manager: Add protections for invalid GPU addresses. * gl_rasterizer_cache: Check that backing memory is valid before creating a surface. * gpu: Rewrite virtual memory manager using PageTable. * gpu: Move GPUVAddr definition to common_types. * CMakeLists: Move off of modifying CMAKE_*-related flags * CMakeLists: Move compilation flags into the src directory * core/hle/kernel/svc: Implement svcUnmapTransferMemory * core/hle/kernel/svc: Implement svcMapTransferMemory * core/hle/kernel: Split transfer memory handling out into its own class * set_sys: Move constants to anonymous namespace * set_sys: Use official nintendo version string * system_version: Correct sizes on VectorVfsFile construction * set_sys: Use correct error codes in GetFirmwareVersion* * set_sys: Implement GetFirmwareVersion(2) for libnx hosversion ------------------------------------------------------------------- Fri Mar 22 13:27:48 UTC 2019 - pousaduarte@gmail.com - Update to version 20190321: * service/am: Add function table for IDebugFunctions * kernel/vm_manager: Rename CodeStatic/CodeMutable to Code and CodeData respectively * kernel/vm_manager: Amend flag values for CodeMutable * core/memory: Remove unnecessary includes * common/bit_util: Fix bad merge duplicating the copy constructor * common/uint128: Add missing header guard * common/uint128: Add missing top-file source text * common/CMakeLists: Amend boost dependency * kernel/process: Make MapSegment lambda reference parameter const * kernel: Move CodeSet structure to its own source files * Fix crash caused by 2238. * file_sys/content_archive: Amend name of Data_Unknown5 enum entry * input_common/sdl: Correct return values within implementations of GetPollers() * input_common/sdl: Use a type alias to shorten declaration of GetPollers * common/thread_queue_list: Remove unnecessary dependency on boost * frontend: qt: fix a freeze where if you click on entry in the game list too fast, citra will hang * core/hle/kernel/mutex: Remove usages of global system accessors * core/hle/kernel: Make Mutex a per-process class. * hwopus: Leverage multistream API for decoding regular Opus packets * vm_manager: Remove cheat-specific ranges from VMManager * core: Add support for registering and controlling ownership of CheatEngine * cheat_engine: Add parser and interpreter for game cheats * loader/nso: Set main code region in VMManager For rom directories (and by extension, XCI/NSP/NAX/NCA) this is for the NSO with name 'main', for regular NSOs, this is the NSO. * vm_manager: Add support for storing and getting main code region Used as root for one region of cheats, set by loader * patch_manager: Display cheats in game list add-ons * patch_manager: Add support for loading cheats lists Uses load/<title_id>/<mod_name>/cheats as root dir, file name is all upper or lower hex first 8 bytes build ID. * controllers/npad: Add accessor for current press state Allows frontend/features to access pressed buttons conveniently as possible * Make bitfield assignment operator public * remove all occurance of specifying endianness inside BitField * common/bitfield: make it endianness-aware * common/swap: remove default value for swap type internal storage * common/swap: use template and tag for LE/BE specification * common/swap: add swap template for enum ------------------------------------------------------------------- Wed Mar 20 21:42:54 UTC 2019 - pousaduarte@gmail.com - Update to version 20190320: * loader: Remove Linker class * loader: Remove Linker inheritance from NRO and NSO loaders * Fix getopt on systems where char is unsigned by default * fsp_srv: Unstub SetCurrentProcess * service/am: Add basic implementation of ChangeMainAppletMasterVolume * service/am: Unstub SetTransparentVolumeRate() * service/am: Unstub SetExpectedMasterVolume() * CMakeLists: Raise minimum Boost requirement to 1.66.0 * input_common/sdl_impl: Make lambda capture more specific in SDLState constructor * input_common/sdl_impl: Remove unnecessary std::chrono::duration construction * input_common/sdl_impl: Remove unused variable in SDLState constructor * kernel/thread: Expand documentation of nominal_priority and current_priority * kernel/thread: Make bracing consistent within UpdatePriority() * kernel/thread: Amend condition within UpdatePriority() * kernel/thread: Maintain priority ordering of added mutex waiting threads ------------------------------------------------------------------- Sun Mar 17 19:03:14 UTC 2019 - pousaduarte@gmail.com - Update to version 20190317: * core: Move PageTable struct into Common. * gl_rasterizer: Skip zero addr/sized regions on flush/invalidate. * ipc_helpers: Allow pushing and popping floating-point values * externals: Update opus to latest master * kernel/thread: Actually remove the definition of ExitCurrentThread() * memory: Simplify rasterizer cache operations. * video_core: Refactor to use MemoryManager interface for all memory access. * kernel/thread: Move thread exiting logic from ExitCurrentThread to svcExitThread * kernel/thread: Migrate WaitCurrentThread_Sleep into the Thread interface * CMakeLists: Remove now-unnecessary GCC special-casing * gpu: Use host address for caching instead of guest address. * video_core/morton: Use enum to describe MortonCopyPixels128 mode * video_core/morton: Remove unused parameter in MortonSwizzle * video_core/morton: Remove clang-format off when it's not needed * video_core/morton: Remove unused functions * vk_sampler_cache: Use operator== instead of memcmp * vk_sampler_cache: Implement a sampler cache * kernel/process: Remove use of global system accessors * video_core/texture: Add a raw representation of TSCEntry * citra_qt: Settings (configuration) rework * Corrections, documenting and fixes. * Use u128 on Clock Cycles calculation. * Implement 128 bits Unsigned Integer Multiplication and Division. * Correct CNTPCT to use Clock Cycles instead of Cpu Cycles. ------------------------------------------------------------------- Thu Mar 14 21:38:08 UTC 2019 - pousaduarte@gmail.com - Update to version 20190314: * video_core/texture: Fix up sampler lod bias * renderer_opengl/gl_global_cache: Replace indexing for assignment with insert_or_assign * renderer_opengl/gl_global_cache: Append missing override specifiers * kernel/server_port: Make data members private * gl_rasterizer: Use system instance passed from argument * core/hle/result: Remove now-unnecessary manually defined copy assignment operator * core/hle/result: Amend error in comment description for ResultCode * core/hle/result: Remove now-unused constructor for ResultCode * core/hle/result: Relocate IPC error code to ipc_helpers * service/service: Remove unncessary calls to c_str() * gl_rasterizer: Encapsulate sampler queries into methods * kernel: Make the address arbiter instance per-process * kernel/svc: Move address arbiter signaling behind a unified API function * kernel/svc: Move address arbiter waiting behind a unified API function * fixup! Joystick: Allow for background events; Add deadzone to SDLAnalog * input/sdl: lock map mutex after SDL call * Input: Remove global variables from SDL Input * Input: Copy current SDL.h/cpp files to impl * service/vi: Unstub GetDisplayService * core/ipc_helper: Allow popping all signed value types with RequestParser * service/vi: Remove use of a module class ------------------------------------------------------------------- Mon Mar 11 13:33:21 UTC 2019 - pousaduarte@gmail.com - Update to version 20190310: * audio_core/cubeb_sink: Convert _MSC_VER ifdefs to _WIN32 * clang fix * Log 2 new setting values * yuzu_cmd/config: Replace C casts with static_cast * yuzu_cmd/config: Silent implicit cast warning * gl_rasterizer: Minor logger changes * service/audio/hwopus: Move decoder state to its own class * service/audio/hwopus: Provide a name for the second word of OpusPacketHeader * service/audio/hwopus: Move Opus packet header out of the IHardwareOpusDecoderManager * service/audio/hwopus: Enclose internals in an anonymous namespace * kernel/scheduler: Pass in system instance in constructor * gl_rasterizer_cache: Create texture views for array discrepancies * shader/decode: Remove extras from MetaTexture * shader/decode: Split memory and texture instructions decoding ------------------------------------------------------------------- Sat Mar 09 17:33:44 UTC 2019 - pousaduarte@gmail.com - Update to version 20190308: * dma_pusher: Store command_list_header by copy * kernel/hle_ipc: Convert std::shared_ptr IPC header instances to std::optional * travis: Bump macOS version to 10.14 * common/bit_field: Make BitField trivially copyable * video_core/gpu_thread: Remove unimplemented WaitForIdle function prototype * video_core/gpu_thread: Amend constructor initializer list order * video_core/gpu: Make GPU's destructor virtual * service/audio/audout_u: Only actually stop the audio stream in StopAudioOut if the stream is playing * gpu_thread: Fix deadlock with threading idle state check. * gpu_thread: (HACK) Ignore flush on FlushAndInvalidateRegion. * gpu: Always flush. * gpu: Refactor a/synchronous implementations into their own classes. * gpu: Move command processing to another thread. * bootmanager: Ensure that we have a context for shader loading. * gpu: Refactor command and swap buffers interface for asynch. * gpu: Refactor to take RendererBase instead of RasterizerInterface. * settings: Add new graphics setting for use_asynchronous_gpu_emulation. * core: Set is_powered_on before GPU is initialized. * yuzu: add a hotkey to switch between undocked and docked mode * hle/service/audio/audout_u: Correct lack of return in failure case of AppendAudioOutBufferImpl() * yuzu/debugger/wait_tree: Remove use of global CurrentProcess accessor * video_core/engines: Remove unnecessary includes * kernel/server_session: Make data members private * kernel/client_session: Make data members private * hle/service/audio: Extract audio error codes to a header * kernel/address_arbiter: Pass in system instance to constructor * kernel/address_arbiter: Minor tidying up * kernel/address_arbiter: Convert the address arbiter into a class * video_core/surface: Remove obsolete TODO in PixelFormatFromRenderTargetFormat() * kernel/thread: Remove obsolete TODO in Create() * core/hle/ipc: Remove unnecessary includes * web_browser: Add shortcut to Enter key to exit applet * vm_manager: Use range helpers in HeapAlloc() and HeapFree() * vm_manager: Provide address range checking functions for other memory regions * kernel/shared_memory: Get rid of the use of global accessor functions within Create() * svc: Migrate address range checking functions to VMManager * core/core: Remove the global telemetry accessor function * yuzu: Remove usage of the global telemetry accessor * yuzu-cmd/yuzu: Replace direct usage of the global system telemetry accessor in main() * core/core: Replace direct usage of the global system telemetry accessor from Shutdown() * video_core/renderer_opengl: Replace direct usage of global system object accessors * maxwell_to_vk: Initial implementation * logging/backend: Make time_origin a class variable instead of a local static * logging/backend: Move CreateEntry into the Impl class * Memory: don't lock hle mutex in memory read/write * gl_rasterizer: Remove texture unbinding after dispatching a draw call * gl_state: Fixup multibind bug * gl_rasterizer_cache: Move format conversion to its own file * decoders: Minor style changes ------------------------------------------------------------------- Mon Mar 04 13:43:19 UTC 2019 - pousaduarte@gmail.com - Update to version 20190303: * web_service: Remove unnecessary inclusions ------------------------------------------------------------------- Sun Mar 03 15:33:24 UTC 2019 - pousaduarte@gmail.com - Update to version 20190302: * citra_qt/main: make SPEED_LIMIT_STEP static constexpr * Yuzu can render 3D. * vk_buffer_cache: Fix clang-format * fuck git for ruining my day, I will learn but I will not forgive * vk_buffer_cache: Implement a buffer cache ------------------------------------------------------------------- Fri Mar 01 17:34:00 UTC 2019 - pousaduarte@gmail.com - Update to version 20190301: * service/audio/audren_u: Implement OpenAudioRendererAuto * service/audio: Provide an implementation of ExecuteAudioRendererRendering * Devirtualize Register/Unregister and use a wrapper instead. * Corrections and redesign. * Fix linux compile error. * Remove NotifyFrameBuffer as we are doing a texception pass every drawcall. * Remove certain optimizations that caused texception to fail in certain scenarios. * Bug fixes and formatting * rasterizer_cache_gl: Implement Texception Pass * rasterizer_cache_gl: Implement Partial Reinterpretation of Surfaces. * rasterizer_cache: mark reinterpreted surfaces and add ability to reload marked surfaces on next use. * rasterizer_cache_gl: Notify on framebuffer change * rasterizer_cache: Expose FlushObject to Child classes and allow redefining of Register and Unregister * Speed up memory page mapping (#2141) * audio_core/cubeb_sink: Ensure COM is initialized on Windows prior to calling cubeb_init * service/hid: Amend forward declaration of ServiceManager * yuzu/compatdb: Remove unused lambda capture * vk_memory_manager: Reorder constructor initializer list in terms of member declaration order * gl_rasterizer: Reorder constructor initializer list in terms of member declaration order * gl_shader_disk_cache: Remove #pragma once from cpp file * core/frontend/emu_window: Make ClipToTouchScreen a const member function * audio_core/audio_renderer: Name previously unknown parameters of AudioRendererParameter * common/math_util: Move contents into the Common namespace * externals: Update cubeb to 6f2420de8f155b10330cf973900ac7bdbfee589d * common/vector_math: Move Vec[x] types into the Common namespace * common/quaternion: Move Quaternion into the Common namespace * maxwell_3d: Use std::bitset to manage dirty flags * vk_stream_buffer: Remove copy code path * kernel/handle_table: Make local variables as const where applicable * kernel/handle_table: Allow process capabilities to limit the handle table size * kernel/handle-table: In-class initialize data members * kernel/handle_table: Resolve truncation warnings * vk_stream_buffer: Implement a stream buffer * vk_resource_manager: Minor VKFenceWatch changes ------------------------------------------------------------------- Wed Feb 27 15:22:14 UTC 2019 - pousaduarte@gmail.com - Update to version 20190226: * renderer_opengl: Update pixel format tracking * audio_core/cubeb_sink: Initialize CubebSinkStream's last_frame data member * audio_core/cubeb_sink: Add override specifier to destructor * audio_core/cubeb_sink: Resolve variable shadowing warnings in SamplesInQueue * audio_core/codec: Resolve truncation warnings within DecodeADPCM * shader/track: Resolve variable shadowing warnings * service/vi: Update IManagerDisplayService's function table * file_sys/vfs_vector: Fix ignored offset on Write * Remove GCC version checks * vk_memory_manager: Fixup commit interval allocation * gl_rasterizer_cache: Fixup parameter order in layered swizzle * vk_scheduler: Implement a scheduler * service/nvflinger: Store BufferQueue instances as regular data members * service/vi/vi_layer: Convert Layer struct into a class * service/nvflinger: Move display specifics over to vi_display * video_core/dma_pusher: Simplyfy Step() logic. * video_core/dma_pusher: The full list of headers at once. * shader_decompiler: Improve Accuracy of Attribute Interpolation. * rasterizer_cache_gl: Only do fast layered copy on the same format. As glCopyImageSubData does not support different formats. ------------------------------------------------------------------- Fri Feb 22 20:03:20 UTC 2019 - pousaduarte@gmail.com - Update to version 20190221: * vk_memory_manager: Implement memory manager ------------------------------------------------------------------- Thu Feb 21 21:00:30 UTC 2019 - pousaduarte@gmail.com - Update to version 20190220: * Fixes Unicode Key File Directories (#2120) * service/nvflinger: Relocate definitions of Layer and Display to the vi service * video_core: Remove usages of System::GetInstance() within the engines * gl_state: Synchronize gl_state even when state is disabled ------------------------------------------------------------------- Tue Feb 19 20:52:22 UTC 2019 - pousaduarte@gmail.com - Update to version 20190218: * vk_resource_manager: Implement a command buffer pool with VKFencedPool * vk_resource_manager: Add VKFencedPool interface * vk_resource_manager: Implement VKResourceManager and fence allocator * vk_resource_manager: Implement VKFenceWatch * vk_resource_manager: Implement VKFence * vk_resource_manager: Add VKResource interface ------------------------------------------------------------------- Mon Feb 18 16:08:54 UTC 2019 - pousaduarte@gmail.com - Update to version 20190217: * audio_core/buffer: Make const and non-const getter for samples consistent ------------------------------------------------------------------- Sat Feb 16 21:09:26 UTC 2019 - pousaduarte@gmail.com - Update to version 20190216: * address_arbiter: Use nested namespaces where applicable * core_timing: Convert core timing into a class * Adressed review comments * threadsafe_queue: Add WaitIfEmpty and use it in logging * renderer_opengl: respect the sRGB colorspace for the screenshot feature ------------------------------------------------------------------- Fri Feb 15 13:42:17 UTC 2019 - pousaduarte@gmail.com - Update to version 20190214: * threadsafe_queue: Use std::size_t for representing size * threadsafe_queue: Remove NeedSize template parameter * core_timing: Make EmptyTimedCallback a local variable * vk_device: Abstract device handling into a class * renderer_opengl: Remove reference to global system instance * gl_rasterizer_cache: Remove unnecessary newline * gl_rasterizer_cache: Get rid of variable shadowing * renderer_vulkan: Add declarations file * logging: Add Vulkan backend logging class type * cmake: Add Vulkan option * gitmodules: Add Vulkan headers dependency * gl_shader_decompiler: Re-implement TLDS lod * core_timing: Rename CoreTiming namespace to Core::Timing * Corrected F2I None mode to RoundEven. * Fix incorrect value for CC bit in IADD * kepler_compute: Fixup assert and rename engines * Implement BGRA8 framebuffer format * shader_ir: Remove F4 prefix to texture operations * shader_ir: Clean texture management code ------------------------------------------------------------------- Sat Feb 09 14:04:18 UTC 2019 - pousaduarte@gmail.com - Update to version 20190208: * Implement linear textures (#2089) * gl_rasterizer_cache: Fixup texture view parameters * nvdisp_disp0: change drawing message log level from Warning to Trace * gl_rasterizer_cache: Mark surface copy destinations as modified. * gl_rasterizer: Implement a more accurate fermi 2D copy. ------------------------------------------------------------------- Fri Feb 08 13:22:42 UTC 2019 - pousaduarte@gmail.com - Update to version 20190206: * cmake: Fix title bar issue * gl_shader_disk_cache: Check LZ4 size limit * gl_shader_disk_cache: Consider compressed size zero as an error * cmake: Use CMAKE_COMMAND instead of "cmake" * gl_shader_disk_cache: Use unordered containers * gl_shader_cache: Fixup GLSL unique identifiers * cmake: Fixup application string * loading_screen: Unchunk progress bar * gl_shader_cache: Link loading screen with disk shader cache load * gl_shader_cache: Set GL_PROGRAM_SEPARABLE to dumped shaders * gl_shader_disk_cache: Pass core system as argument and guard against games without title ids * gl_shader_disk_cache: Guard reads and writes against failure * gl_shader_disk_cache: Address miscellaneous feedback * gl_shader_disk_cache: Pass return values returning instead of by parameters * gl_shader_disk_cache: Compress program binaries using LZ4 * gl_shader_disk_cache: Compress GLSL code using LZ4 * gl_shader_disk_cache: Save GLSL and entries into the precompiled file * settings: Hide shader cache behind a setting * gl_shader_disk_cache: Invalidate shader cache changes with CMake hash * gl_shader_cache: Refactor to support disk shader cache * gl_shader_disk_cache: Add transferable cache invalidation * gl_shader_disk_cache: Add precompiled load * gl_shader_disk_cache: Add precompiled save * gl_shader_disk_cache: Add transferable load * gl_shader_disk_cache: Add transferable stores * gl_shader_disk_cache: Add ShaderDiskCacheOpenGL class and helpers * gl_shader_disk_cache: Add file and move BaseBindings declaration * gl_shader_decompiler: Remove name entries * gl_shader_util: Add parameter to handle retrievable programs * rasterizer_interface: Add disk cache entry for the rasterizer * file_util: Add shader directory * shader_decode: Implement LDG and basic cbuf tracking * gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target memory * QT: Fix the loading screen 'H' switch logo to not glitch out * service/nvflinger,service/vi: Handle failure cases with exposed API * Fix crash when no files are selected * Add file extension to screenshot filename if not provided * service/nvflinger: Mark FindVsyncEvent() as a const member function * service/nvflinger: Rename GetVsyncEvent() to FindVsyncEvent() * video_core/texture: Fix BitField size for depth_minus_one * Update src/video_core/engines/shader_bytecode.h * Fix TXQ not using the component mask. * shader_ir/memory: Add ST_L 64 and 128 bits stores * shader/track: Search inside of conditional nodes * shader_ir: Rename BasicBlock to NodeBlock * shader_ir: Pass decoded nodes as a whole instead of per basic blocks * video_core: Assert on invalid GPU to CPU address queries * maxwell_3d: Allow sampler handles with TSC id zero * maxwell_3d: Allow texture handles with TIC id zero * memory_manager: Check for reserved page status * shader_ir/memory: Add LD_L 128 bits loads * shader_bytecode: Rename BytesN enums to BitsN * shader_ir/memory: Add LD_L 64 bits loads * gl_rasterizer_cache: Fixup test clause * gl_rasterizer_cache: Guard clause swizzle testing * gl_state: Remove texture target tracking * gl_rasterizer_cache: Move swizzling to textures instead of state * gl_state: Use DSA and multi bind to update texture bindings * gl_rasterizer: Use DSA for textures * Use QPixmap/QIcon for background color selection button ------------------------------------------------------------------- Mon Feb 04 19:32:27 UTC 2019 - pousaduarte@gmail.com - Update to version 20190201: * rasterizer_interface: Remove unused AccelerateFill operation * video_core: Remove unused Fill surface type * kernel: Remove the Timer class * hwopus: Implement DecodeInterleaved * shader_ir: Unify constant buffer offset values * hwopus: Deduplicate the decoding code within DecodeInterleavedOld and DecodeInterleavedWithPerfOld * hwopus: Replace std::optional<std::reference_wrapper<u64>> with u64* * hwopus: Mark local variables as const where applicable * hwopus: Fill in the rest of the unknown service function names * gl_rasterizer: Workaround invalid zeta clears ------------------------------------------------------------------- Fri Feb 01 14:31:53 UTC 2019 - pousaduarte@gmail.com - Update to version 20190131: * kernel/wait_object: Devirtualize functions related to manipulating the thread list directly * kernel/timer: Remove unnecessary WakeupAllWaitingThreads() override * kernel/readable_event: Remove unnecessary WakeupAllWaitingThreads() override * video_core/dma_pusher: Silence C4828 warnings * service/nvflinger: Make FindBufferQueueId() a const member function * service/nvflinger: Rename Get prefix on function to Find * service/ns: Update function tables * service/ncm: Update function tables * service/audio: Update function tables * service/am/applet_ae: Update function tables * service/fsp-srv: Update function tables * service/btm: Update function tables * service/btdrv: Update function tables * gl_shader_cache: Use explicit bindings * gl_rasterizer: Implement global memory management * shader_decode: Implement LDG and basic cbuf tracking * video_core/GPU Implemented the GPU PFIFO puller semaphore operations. (#1908) * gl_shader_cache: Fix texture view for cubemaps as cubemap arrays * service/psc: Update function tables * nvflinger: Add the Null display * nvflinger: Change log message in OpenDisplay to be a debug log instead of a warning * nvflinger: Remove unnecessary header inclusions * nvflinger: Mark locals const where applicable * nvflinger: Use a std::array for the available displays instead of std::vector * hle/ipc_helpers: Fix clang-format warnings * hle/ipc_helpers: Allow pushing signed values * service/pm: Implement SetMaintenanceBoot() * service/pm: Tidy up functionality related to SystemBootMode * service/vi: Remove stubbed notifier from SetLayerVisibility * shader/shader_ir: Amend three comment typos * shader/shader_ir: Amend constructor initializer ordering for AbufNode * shader/decode: Avoid a pessimizing std::move within DecodeRange() * Add more info into textures' object labels * Add missing environment variables to travis-ci.env ------------------------------------------------------------------- Sun Jan 27 22:48:30 UTC 2019 - pousaduarte@gmail.com - Update to version 20190127: * kernel/svc: Log out uncaught C++ exceptions from svcBreak * dsp_interface: fix sound being played while volume is 0 * video_core: Silent implicit conversion warning * shader_ir: Fixup clang build * gl_shader_decompiler: replace std::get<> with std::get_if<> for macOS compatibility * gl_shader_decompiler: Inline textureGather component * shader_decode: Fixup XMAD * shader_ir: Pass to decoder functions basic block's code * shader_decode: Improve zero flag implementation * shader_ir: Remove composite primitives and use temporals instead * gl_shader_decompiler: Fixup AssignCompositeHalf * shader_decode: Use proper primitive names * shader_decode: Use BitfieldExtract instead of shift + and * shader_ir: Remove Ipa primitive * gl_shader_decompiler: Use rasterizer's UBO size limit * gl_shader_gen: Fixup code formatting * video_core: Rename glsl_decompiler to gl_shader_decompiler * shader_ir: Remove RZ and use Register::ZeroIndex instead * shader_decode: Implement TEXS.F16 * shader_decode: Fixup R2P * glsl_decompiler: Fixup TLDS * glsl_decompiler: Fixup geometry shaders * shader_decode: Fixup WriteLogicOperation zero comparison * glsl_decompiler: Fixup permissive member function declarations * shader_decode: Fixup PSET * shader_decode: Fixup clang-format * video_core: Implement IR based geometry shaders * shader_decode: Implement VMAD and VSETP * shader_decode: Implement HSET2 * shader_decode: Rework HSETP2 * shader_decode: Implement R2P * shader_decode: Implement CSETP * shader_decode: Implement PSET * shader_decode: Implement HFMA2 * glsl_decompiler: Remove HNegate inlining * shader_decode: Implement POPC * shader_decode: Implement TLDS (untested) * shader_decode: Update TLD4 reflecting #1862 changes * shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompiling * shader_decode: Fixup FSET * shader_decode: Implement IADD32I * shader_decode: Fixup clang-format * video_core: Return safe values after an assert hits * shader_decode: Implement FFMA * video_core: Address feedback * shader_ir: Fixup file inclusions and clang-format * shader_ir: Move comment node string * shader_ir: Address feedback to avoid UB in bit casting * shader_decode: Fixup clang-format * shader_decode: Implement LEA * shader_decode: Implement IADD3 * shader_decode: Implement LOP3 * shader_decode: Implement ST_L * shader_decode: Implement LD_L * shader_decode: Implement HSETP2 * shader_decode: Implement HADD2 and HMUL2 * shader_decode: Implement HADD2_IMM and HMUL2_IMM * shader_decode: Implement MOV_SYS * shader_decode: Implement IMNMX * shader_decode: Implement F2F_C * shader_decode: Implement I2I * shader_decode: Implement BRA internal flag * shader_decode: Implement ISCADD * shader_decode: Implement XMAD * shader_decode: Implement PBK and BRK * shader_decode: Implement LOP * shader_decode: Implement SEL * shader_decode: Implement IADD * shader_decode: Implement ISETP * shader_decode: Implement BFI * shader_decode: Implement ISET * shader_decode: Implement LD_C * shader_decode: Implement SHL * shader_decode: Implement SHR * shader_decode: Implement LOP32I * shader_decode: Implement BFE * shader_decode: Implement FSET * shader_decode: Implement F2I * shader_decode: Implement I2F * shader_decode: Implement F2F * shader_decode: Stub DEPBAR * shader_decode: Implement SSY and SYNC * shader_decode: Implement PSETP * shader_decode: Implement TMML * shader_decode: Implement TEX and TXQ * shader_decode: Implement TEXS (F32) * shader_decode: Implement FSETP * shader_decode: Partially implement BRA * shader_decode: Implement IPA * shader_decode: Implement EXIT * shader_decode: Implement ST_A * shader_decode: Implement LD_A * shader_decode: Implement FADD32I * shader_decode: Implement FMUL32_IMM * shader_decode: Implement MOV32_IMM * shader_decode: Stub RRO_C, RRO_R and RRO_IMM * shader_decode: Implement FMNMX_C, FMNMX_R and FMNMX_IMM * shader_decode: Implement MUFU * shader_decode: Implement FADD_C, FADD_R and FADD_IMM * shader_decode: Implement FMUL_C, FMUL_R and FMUL_IMM * shader_decode: Implement MOV_C and MOV_R * video_core: Replace gl_shader_decompiler * glsl_decompiler: Implementation * shader_ir: Add condition code helper * shader_ir: Add predicate combiner helper * shader_ir: Add comparison helpers * shader_ir: Add half float helpers * shader_ir: Add integer helpers * shader_ir: Add float helpers * shader_ir: Add setters * shader_ir: Add local memory getters * shader_ir: Add internal flag getters * shader_ir: Add attribute getters * shader_ir: Add constant buffer getters * shader_ir: Add register getter * shader_ir: Add immediate node constructors * shader_ir: Initial implementation * shader_bytecode: Fixup encoding * shader_header: Make local memory size getter constant ------------------------------------------------------------------- Thu Jan 24 21:16:57 UTC 2019 - pousaduarte@gmail.com - Update to version 20190123: * frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl. * citra_qt: Log settings on launch * ISSUE_TEMPLATE: changes to make it more expressive and prevent low-quality issues * maxwell_3d: Set rt_separate_frag_data to 1 by default ------------------------------------------------------------------- Tue Jan 22 13:24:38 UTC 2019 - pousaduarte@gmail.com - Update to version 20190121: * Change const char* to const char[] * Fix mingw compile error and warnings * Add fade out effect to the loading screen * Set Minimum Size to the same as renderwindow * Remove blue box around loading screen * Change the background color of Stage Complete to yuzu blue * Rename step 1 and step 2 to be a little more descriptive * Prevent estimated time from flashing after slow shader compilation starts * Move progress bar style into constexpr strings * Hide progress bar on Prepare step * QT: Upgrade the Loading Bar to look much better * yuzu/configuration/configure_input_player: Forward declare types where applicable * yuzu/configuration/configure_touchscreen_advanced: Remove unnecessary header inclusions * yuzu/configuration/configure_per_general: Remove unused header inclusions * yuzu/configuration/configure_debug: Remove unused header inclusions * yuzu/configuration/configure_system: Remove unused header inclusions ------------------------------------------------------------------- Mon Jan 21 13:50:12 UTC 2019 - pousaduarte@gmail.com - Update to version 20190120: * Add a workaround if QMovie isn't available * QT Frontend: Add a Loading screen with progressbar * gl_rasterizer: Silent unsafe mix warning * yuzu/configuration/configure_web: Remove an unused lambda capture * yuzu/configuration/configure_web: Use an ellipsis with 'Verifying' text * core/frontend/applets/web_browser: Include missing headers * core/frontend/applets/web_browser: Make OpenPage() non-const * yuzu/web_browser: std::move std::function instances in OpenPage() * yuzu/web_browser: Make slot functions private * loader: Propagate NCA logo section to ReadBanner and ReadLogo * content_archive: Add getter for logo section of NCA * gl_rasterizer: Workaround Intel VAO DSA bug * gl_rasterizer: Skip framebuffer configuration if rendertargets have not been changed * gl_rasterizer_cache: Use dirty flags for the depth buffer * gl_rasterizer_cache: Use dirty flags for color buffers * gl_stream_buffer: Use DSA for buffer management * gl_rasterizer: Use DSA for vertex array objects * gl_state: Drop uniform buffer state tracking ------------------------------------------------------------------- Sat Jan 19 17:57:46 UTC 2019 - pousaduarte@gmail.com - Update to version 20190119: * file_sys/directory: Remove unused DirectoryBackend class ------------------------------------------------------------------- Tue Jan 15 14:11:48 UTC 2019 - pousaduarte@gmail.com - Update to version 20190114: * audio_core: remove unnecessary spaces on comments ------------------------------------------------------------------- Sat Jan 12 19:28:15 UTC 2019 - pousaduarte@gmail.com - Update to version 20190112: * settings: Fix comment structure * settings: Use std::chrono::seconds instead of s64 for RTC * time: Use custom RTC settings if applicable for game * core: Set custom RTC differential on game boot * qt: Provide UI to edit custom RTC settings * settings: Add custom RTC settings * build: Copy web engine resources to correct location * build: Copy QtWebEngineProcess[d].exe to release dir on windows * Update Qt MSVC external to 5.12.0 * travis: Use correct package for linux Qt5WebEngine * web_browser: Add bounds checking to applet interface * cmake: Add USE_QT_WEB_ENGINE flag and update build system * main: Add main window integrations for QtWebBrowserApplet * qt: Implement Qt frontend to web browser Using a custom reimplementation of QWebEngineView and an injector script. * core: Add getter and setter for WebBrowserApplet frontend * frontend: Add frontend responder for web browser * applets: Implement LibAppletOff (Web) applet * loader: Add accessor for Manual RomFS * hid: Make Hid service accessible and add GetPressState * romfs: Add SingleDiscard extraction type Needed for manual RomFS extraction, as Full generates an extra directory and Truncated generates variable results. * am: Add size parameter to am:IStorage logging * game_list: Remove a reference of a reference ------------------------------------------------------------------- Thu Jan 10 19:07:13 UTC 2019 - pousaduarte@gmail.com - Update to version 20190108: * gl_global_cache: Add dummy global cache manager ------------------------------------------------------------------- Tue Jan 08 20:13:45 UTC 2019 - pousaduarte@gmail.com - Update to version 20190107: * gl_shader_cache: Use dirty flags for shaders * gl_rasterizer_cache: Use GL_STREAM_COPY for PBOs * service/vi: Correct scaling mode conversions * service/vi: Factor out scaling mode conversions from the IPC function itself * service/vi: Unstub IApplicationDisplayService' SetLayerScalingMode() * qt: Move profile manager to own UI tab ------------------------------------------------------------------- Sat Jan 05 18:37:30 UTC 2019 - pousaduarte@gmail.com - Update to version 20190105: * service/vi: Correct reported dimensions from IApplicationDisplayService's GetDisplayResolution() * Return no application area when games try to open an application area * Proper no message handling for AM::PopMessage ------------------------------------------------------------------- Fri Jan 04 19:32:59 UTC 2019 - pousaduarte@gmail.com - Update to version 20190104: * Removed pulse event type * Fixed botw deadlock(and possibly 30 fps games rendering too fast? needs testing to confirm) * service/vi: Implement SetDisplayEnabled() * service/vi: Log more information where applicable * service/vi: Implement OpenDefaultDisplay in terms of OpenDisplay * service/vi: Correct initial width and height values * service/vi: Document unknown DisplayInfo struct members * yuzu/configure_general: Silence truncation warnings in loadConfiguration() * yuzu/config: Silence truncation warnings * core/kernel: Remove unnecessary inclusions * gl_rasterizer_cache: Texture view if shader samples array but OGL is not * Qt/Configure: Use sidebar to divide tabs into smaller groups * qt: Use ProfileSelectionDialog when selecting user for save data * qt: Add setting to prompt for user on game boot * CONTRIBUTING.md: migrate to the wiki ------------------------------------------------------------------- Wed Jan 02 16:23:00 UTC 2019 - pousaduarte@gmail.com - Update to version 20181231: * kernel/svc: Correct misleading error message within CreateThread() * kernel/svc: Sanitize core number and thread priorities in CreateThread() * kernel/process: Rename GetAllowedProcessorMask() and GetAllowedThreadPriorityMask() * kernel/svc: Simplify thread core ID sanitizing in CreateThread * arm_interface: Make include path relative for arm_interface.h * arm_interface: Make LogBacktrace() a const member function * arm_interface: Mark variables as const where applicable in LogBacktrace() * arm_interface: Remove unnecessary semicolon * externals: Update fmt to 5.3.0 * kernel/process: Start the main thread using the specified ideal core * kernel: Rename 'default' CPU core to 'ideal' core * kernel/thread: Move process thread initialization into process.cpp ------------------------------------------------------------------- Sun Dec 30 19:54:13 UTC 2018 - pousaduarte@gmail.com - Update to version 20181229: * service/time: Minor cleanup to GetClockSnapshot() * service/time: Fill in some structures and remove padding where not necessary * Moved log backtrace to arm_interface.cpp. Added printing of error code to fatal * gpu: Remove PixelFormat G8R8U and G8R8S, as they do not seem to exist. * audio_core: Convert LOG_CRITICAL + UNREACHABLE over to UNIMPLEMENTED/UNIMPLEMENTED_MSG * Moved backtrace to ArmInterface * Moved backtrace to ArmInterface * Print backtrace on svcBreak ------------------------------------------------------------------- Fri Dec 28 13:20:00 UTC 2018 - pousaduarte@gmail.com - Update to version 20181227: * file_sys/program_metadata: Print out more descriptive address space descriptions * kernel/process: Remove most allocation functions from Process' interface * Add missing uintBitsToFloat to SetRegisterToHalfFloat * am: Implement GetSaveDataSize and ExtendSaveData * filesystem: Populate save data sizes from control data * savedata_factory: Partially implement IVFC save sizes using files * loader: Add accessor for game control data * control_metadata: Update NACP fields with latest Switchbrew data * control_metadata: Use value member instead of unique_ptr to store struct * vfs: Add reinterpret_casts to WriteArray and Object * kernel/vm_manager: Reset region attributes when unmapping a VMA * configure_per_general: Mark UI strings as translatable in the constructor * configure_input_simple: Make input profile array constexpr * renderer_opengl: Correct forward declaration of FramebufferLayout * Apply CC test to the final value to be stored in the register * Fixed shader linking error due to TLDS (#1934) * npad: Remove code to invert input in horizontal mode. * shader_bytecode: Fixup TEXS.F16 encoding * Includde saturation in the evaluation of the control code * Handle RZ cases evaluating the expression instead of the register value. * complete emulation of ZeroFlag * hid: Fix SetNpadJoyHoldType and improve logging. * kernel/process: Hook up the process capability parser to the process itself * kernel/process_capability: Handle debug capability flags * kernel/process_capability: Handle handle table capability flags * kernel/process_capability: Handle kernel version capability flags * kernel/process_capability: Handle program capability flags * kernel/process_capability: Handle interrupt capability flags * kernel/process_capability: Handle syscall capability flags * kernel/process_capability: Handle the priority mask and core mask flags * kernel/process: Introduce process capability parsing skeleton * common: Add basic bit manipulation utility function to Common * debugger: Set paused thread color * svc: Implement SetThreadActivity (thread suspension) ------------------------------------------------------------------- Mon Dec 24 20:11:20 UTC 2018 - pousaduarte@gmail.com - Update to version 20181223: * common/quaternion: Ensure that w is always initialized * yuzu, video_core: Screenshot functionality * configure_input_simple: Properly signal docked mode change * configure_input: Add ConfigureInputSimple as default input UI config * configure_input: Convert into QDialog * configure: Use ConfigureInputSimple for Input tab * ui_settings: Add UI setting for input profile index * applets: Correct event ResetTypes from OneShot to Sticky Fixes bugs relating to signalling in software keyboard. * qt: Implement GUI dialog frontend for ProfileSelector * am: Use ProfileSelect applet * applets: Implement ProfileSelect applet * qt: Register to use Qt ProfileSelector instead of default * core: Add getter/setter for ProfileSelector in System * frontend: Add frontend applet for ProfileSelect * software_keyboard: Signal state changed event upon construction ------------------------------------------------------------------- Sun Dec 23 13:59:11 UTC 2018 - pousaduarte@gmail.com - Update to version 20181221: * hopefully fix clang format issue * Fixed uninitialized memory due to missing returns in canary ------------------------------------------------------------------- Fri Dec 21 18:54:42 UTC 2018 - pousaduarte@gmail.com - Update to version 20181221: * kernel/svc: Handle thread handles within GetProcessId * kernel/kernel: Use correct initial PID for userland Process instances * kernel/svc: Correct output parameter for svcGetThreadId * kernel/thread: Make thread_id a 64-bit value * kernel/svc: Correct output parameter for svcGetProcessId * kernel/process: Make process_id a 64-bit value * Texture format fixes: Flag RGBA16UI as GL_RGBA_INTEGER format, and interpret R16U as Z16 when depth_compare is enabled. * service/am: Unstub GetAppletResourceUserId ------------------------------------------------------------------- Thu Dec 20 00:22:12 UTC 2018 - pousaduarte@gmail.com - Update to version 20181219: * svc: Implement svcSetMemoryAttribute * vm_manager: Add member function for setting memory attributes across an address range * vm_manager: Add member function for checking a memory range adheres to certain attributes, permissions and states * Device handle should not be a random id, instead it's the current npad id * service/sm: Improve debug log for RegisterService * Fix arrayed shadow sampler array slice/depth comparison ordering, as well as invalid GLSL LOD selection. * vm_manager: Rename meminfo_state to state * vm_manager: Add backing functionality for memory attributes ------------------------------------------------------------------- Wed Dec 19 15:35:47 UTC 2018 - pousaduarte@gmail.com - Update to version 20181218: * kernel/thread: Set default fpcr * arm_dynarmic: Set CNTFRQ value * shader_bytecode: Fixup half float's operator B encoding * applets: Correct usage of SignalStateChanged event This was causing some games (most notably Pokemon Quest) to softlock due to an event being fired when not supposed to. This also removes a hack wherein we were firing the state changed event when the game retrieves it, which is incorrect. ------------------------------------------------------------------- Tue Dec 18 12:01:14 UTC 2018 - pousaduarte@gmail.com - Update to version 20181217: * Implement postfactor multiplication/division for fmul instructions ------------------------------------------------------------------- Sat Dec 15 13:53:26 UTC 2018 - pousaduarte@gmail.com - Update to version 20181215: * nvhost_gpu: Skip empty GPU command lists. * audio_core: Make g_sink_details internally linked * Fix Service object leak on emulation stop * svc: Enable svcQueryProcessMemory * svc: Write out the complete MemoryInfo structure in QueryProcessMemory * svc: Handle memory writing explicitly within QueryProcessMemory * vm_manager: Correct ordering of last two struct members of MemoryInfo * svc_wrap: Correct register index for a wrapper specialization * vm_manager: Amend the returned values for invalid memory queries in QueryMemory() * vm_manager: Migrate memory querying to the VMManager interface * vm_manager: Migrate MemoryInfo and PageInfo to vm_manager.h * vm_manager: Amend MemoryState enum members * yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText * svc: Avoid incorrect fast yield condition * scheduler: Avoid manual Reschedule call * scheduler: Only work steal higher priority threads from other cores * svc: Avoid performance-degrading unnecessary reschedule * scheduler: Add explanations for YieldWith and WithoutLoadBalancing * svc: Implement yield types 0 and -1 ------------------------------------------------------------------- Thu Dec 13 17:18:13 UTC 2018 - pousaduarte@gmail.com - Update to version 20181212: * Fix Process object leak on emulation stop * patch_manager: Prevent use of a dangling pointer within PatchRomFS * gl_shader_cache: Dehardcode constant in CalculateProgramSize() * gl_shader_cache: Resolve truncation compiler warning * fsp_srv: Implement IStorage::GetSize Takes no input and returns the size as a u64. Needed by Katamari Damacy Reroll to boot. ------------------------------------------------------------------- Tue Dec 11 17:55:40 UTC 2018 - pousaduarte@gmail.com - Update to version 20181211: * gl_shader_decompiler: IPA FrontFacing: the right value when is the front face is 0xFFFFFFFF. * Avoid (expensive) audio interpolation when sample rates already match ------------------------------------------------------------------- Tue Dec 11 13:32:27 UTC 2018 - pousaduarte@gmail.com - Update to version 20181210: * service/fsp_srv: Correct returned value in GetGlobalAccessLogMode() * Implemented a shader unique identifier. * web_service: move telemetry condition from TelemetrySession constructor to destructor * file_sys/save_data_factory: Update SaveDataSpaceId enum * gl_shader_decompiler: TLDS/TLD4/TLD4S Reworked reflecting the source registers, bugs fixed and modularize. * savedata_factory: Add support for CacheStorage * savedata_factory: Delete TemporaryStorage on startup Mimics hardware behavior. * memory: Convert ASSERT into a DEBUG_ASSERT within GetPointerFromVMA() * vm_manager: Make vma_map private * kernel/process: Set ideal core from metadata * qt: Add Properties menu to game list right-click * qt: Add UI to display game properties and disable add-ons * loader: Add support for reading the name of game's developer * aoc_u: Obey disabled add-ons list when listing DLC * patch_manager: Obey disabled add-ons list when patching game * core: Make GetGameFileFromPath function externally accessible * config: Store and load disabled add-ons list * settings: Store list of disabled add-ons per title ID * file_sys/directory: Amend path buffer size for directory entries ------------------------------------------------------------------- Sat Dec 08 22:34:10 UTC 2018 - pousaduarte@gmail.com - Update to version 20181207: * Backport review comment from citra-emu/citra#4418 * hle/service: Replace log + UNIMPLEMENTED with UNIMPLEMENTED_MSG * hle/service: Remove unnecessary using declarations * hle/service, hle/sm: Compress usages of MakeResult() * hle/service, hle/sm: Use structured bindings where applicable * yuzu/game_list_worker: Don't retrieve the file type twice in AddFstEntriesToGameList() * yuzu/game_list_worker: Don't retrieve file type and file type strings twice in MakeGameListEntry() * loaders: Make GetFileType() a const qualified member function * service/ldr: Amend layout of the NRO header * service/ldr: Corrent padding within the NRR header layout ------------------------------------------------------------------- Fri Dec 07 12:57:42 UTC 2018 - pousaduarte@gmail.com - Update to version 20181206: * system_archive: Implement open source NgWord2 * configuration/config: Use an intermediary variable for accessing players * kernel/svc: Correct behavior of svcResetSignal() * kernel/process: Make Process a WaitObject * kernel/readable_event: Add member function for enforcing a strict reset contract ------------------------------------------------------------------- Thu Dec 06 18:37:20 UTC 2018 - pousaduarte@gmail.com - Update to version 20181206: * gl_shader_decompiler: Implement TEXS.F16 * gl_shader_decompiler: Fixup inverted if * gl_rasterizer: Implement a framebuffer cache ------------------------------------------------------------------- Thu Dec 06 09:23:29 UTC 2018 - pousaduarte@gmail.com - Update to version 20181205: * Call shrink_to_fit after page-table vector resizing to cause crt to actually lower vector capacity. For 36-bit titles saves 800MB of commit. * ng_word: Deduplicate use of a constant value * system_archive: Use a regular function pointer instead of std::function for file-scope system archive array * service/ldr: Deduplicate instruction cache clearing code in LoadNro() * Improve msvc codegen for hot-path array LUTs * yuzu/game_list_worker: Move std::string construction after the termination check in callbacks * kernel/svc: Remove unused header inclusion * kernel/svc: Implement svcSignalEvent() * kernel/svc: Implement svcCreateEvent() * file_sys/registered_cache: Eliminate variable shadowing * yuzu/game_list_worker: Deduplicate game list entry creation * yuzu/game_list_worker: Tidy up string handling in FillControlMap() * crypto/key_manager: Remove unused variable in GetTicketblob() * file_sys: Implement system archive synthesizer for NgWord (806) * fsp_srv: Add support for using open source archive if not found in NAND * file_sys: Add framework for synthesizing open source archives * vfs_vector: Add VFS backend for std::array Allows using constexpr/static const data with VFS. ------------------------------------------------------------------- Tue Dec 04 17:52:58 UTC 2018 - pousaduarte@gmail.com - Update to version 20181204: * Rewrited TEX/TEXS (TEX Scalar). (#1826) * kernel/object: Amend handle types to distinguish between readable and writable events * kernel/handle_table: Amend reference to CTR-OS in Create() * kernel/svc: Implement the resource limit svcGetInfo option * Removed unused file. * GPU: Don't try to route PFIFO methods (0-0x40) to the other engines. * loader/nso: Remove dependency on the System class * loader/nro: Make the static LoadNro function internally linked * loader/nro: Remove dependency on the System class ------------------------------------------------------------------- Tue Dec 04 13:36:26 UTC 2018 - pousaduarte@gmail.com - Update to version 20181203: * [Kernel::CreateThread] Match format specifiers to LOG_TRACE's arguments * yuzu/configuration: Make slots private where applicable * yuzu/configuration: Add missing override specifiers to configuration-related classes * yuzu/configuration/configure_input: Default destructor in the cpp file * Fixed crash with SetNpadMode * svc: Use the current process' handle table for retrieving the process instance to act upon * svc: Reorganize svcGetInfo, handle more error cases for existing implemented info categories * service/audio/audout_u: Amend constructor initialization list order * filesystem: De-globalize registered_cache_union * file_sys: Override missing mutating functions to be stubbed out for ReadOnlyVfsDirectory by default * service/fsp_srv: Implement CleanDirectoryRecursively * hle_ipc: Refactor SleepClientThread to avoid ReadableEvent * kernel/event: Reference ReadableEvent from WritableEvent * core: Port all current usages of Event to Readable/WritableEvent * hle_ipc: Use event pair for SleepClientThread * kernel: Add named event table Used to store ReadableEvents of all events on the system. * kernel: Divide Event into ReadableEvent and WritableEvent More hardware accurate. On the actual system, there is a differentiation between the signaler and signalee, they form a client/server relationship much like ServerPort and ClientPort. * kernel/object: Add descriptions to ResetTypes * gl_shader_decompiler: Remove texture temporal in TLD4 * gl_shader_decompiler: Flip negated if else statement * gl_shader_decompiler: Use GLSL scope on instructions unrelated to textures * gl_shader_decompiler: Move texture code generation into lambdas * gl_shader_decompiler: Clean up texture instructions * gl_shader_decompiler: Scope GLSL variables with a scoped object ------------------------------------------------------------------- Mon Dec 03 18:05:08 UTC 2018 - pousaduarte@gmail.com - Update to version 20181203: * service/usb: Update function table * service/erpt: Update function table ------------------------------------------------------------------- Sun Dec 02 09:51:30 UTC 2018 - pousaduarte@gmail.com - Update to version 20181201: * Fix debug build * remove border from GameList * Services/VI: Dereferencing an uninitialized std::optional is undefined behavior. * service/set: Convert GetLanguageCode over to using PushEnum() * service/set: Implement MakeLanguageCode * gl_rasterizer_cache: Update AccurateCopySurface to flush complete source surface. * gl_rasterizer: Enable clip distances when set in register and in shader * gl_shader_manager: Update pipeline when programs have changed * gl_rasterizer_cache: Remove BlitSurface and replace with more accurate copy. * gl_rasterizer: Signal UNIMPLEMENTED when rt_separate_frag_data is not zero * gl_rasterizer_cache: Use brackets for two-line single-expresion blocks * gl_rasterizer: Remove unused struct declarations * gl_rasterizer: Remove extension booleans ------------------------------------------------------------------- Fri Nov 30 13:26:28 UTC 2018 - pousaduarte@gmail.com - Update to version 20181130: * configure_input: Amend clang-format discrepancies ------------------------------------------------------------------- Thu Nov 29 13:25:54 UTC 2018 - pousaduarte@gmail.com - Update to version 20181129: * npad: Use NPadIdToIndex to prevent invalid array access * remove viewport_transform_enabled as it seems to be inactive when valid transforms are used. * Added comment on Main memory size for more clarity * Made svcSetHeapSize and svcCreateSharedMemory more readable * Reworked svcs slightly, improved error messages in AM and fsp_srv * Implement depth clamp * Add support for Clip Distance enabled register * Fixed hwopus compile error * Improved error messages in AM, HwOpus and NvMap * Improved error messages for SVCs * Changed logging to be "Log before execution", Added more error logging, all services should now log on some level * correct clang-format * Automatically disable joycons docked ------------------------------------------------------------------- Wed Nov 28 21:54:36 UTC 2018 - pousaduarte@gmail.com - Update to version 20181128: * dma_pushbuffer: Optimize to avoid loop and copy on Push. * gpu: Move command list profiling to DmaPusher::DispatchCalls. * npad: Fix copy/paste error with LED position assignments * yuzu/configure_input_player: Use std::size_t to represent the player index instead of u8 * yuzu/configure_input: Make CallConfigureDialog a non-member template function * file_sys/registered_cache: Remove unused <map> include * file_sys/registered_cache: Use regular const references instead of std::shared_ptr for InstallEntry() * gl_shader_decompiler: Fixup clip distance index * control_metadata: Correct typo in language name (Portugese -> Portuguese) * yuzu/configure_input_player: Use a lambda expression instead of std::bind * yuzu/configure_input_player: Amend constructor initializer list order * yuzu/configure_input: Remove unused function MoveGridElement * yuzu/configure_input*: Move data members after function declarations * yuzu/configure_input: Remove unnecessary includes * gl_rasterizer: Fixup for #1723. * gpu: Rewrite GPU command list processing with DmaPusher class. * svc: Implement svcSetResourceLimitLimitValue() * svc: Implement svcGetResourceLimitCurrentValue() * morton: Fixup compiler warning * svc: Implement svcGetResourceLimitLimitValue() * svc: Implement svcCreateResourceLimit() * gdbstub: Silence value truncation warning within FpuWrite() * GPU States: Implement Polygon Offset. This is used in SMO all the time. (#1784) * profile_manager: Save and load ProfileData from disk The ProfileData is a 0x80-sized structure that stores various pieces of miscellaneous data for the account. * Implemented Tile Width Spacing * Limit the amount of viewports tested for state changes only to the usable ones * gl_shader_decompiler: Implement S2R's Y_DIRECTION * Implemented BRA CC conditional and FSET CC Setting * Add support for viewport_transfom_enable register * gl_rasterizer: Skip VB upload if the state is clean. ------------------------------------------------------------------- Mon Nov 26 13:48:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20181125: * morton: Style changes * video_core: Move morton functions to their own file * Fix Texture Overlapping * service/sm: Take std::string by const reference in UnregisterService * Fix TEXS Instruction encodings * Fix one encoding in TEX Instruction * Corrected inputs indexing in TEX instruction * gl_shader_decompiler: Implement clip distances * gl_shader_decompiler: Implement BFI_IMM_R * gl_shader_decompiler: Implement R2P_IMM ------------------------------------------------------------------- Sun Nov 25 22:04:30 UTC 2018 - pousaduarte@gmail.com - Update to version 20181125: * svc: Return ERR_INVALID_ENUM_VALUE from svcGetInfo * nvdrv: Implement/stub DumpGraphicsMemoryInfo and GetStatus. * memory_manager: Do not allow 0 to be a valid GPUVAddr. ------------------------------------------------------------------- Sat Nov 24 15:27:13 UTC 2018 - pousaduarte@gmail.com - Update to version 20181123: * Add support for clear_flags register * gl_shader_decompiler: Add a message for unimplemented cc generation * gl_shader_decompiler: Rename internal flag strings * gl_shader_decompiler: Rename control codes to condition codes * Removed pre 4.3 ARB extensions * Update OpenGL's backend version from 3.3 to 4.3 * patch_manager: Show LayeredExeFS patch in add-ons column * patch_manager: Apply LayeredExeFS patches This will scan the <mod>/exefs dir for all files and then layer those on top of the game's exefs and use this as the new exefs. This allows for overriding of the compressed NSOs or adding new files. This does use the same dir as IPS/IPSwitch patch, but since the loader will not look for those they are ignored. * settings: Add option to dump ExeFS of games upon launch When enabled, all exefs(es) will be copied to yuzu/dump/<title_id>/exefs. * shader_cache: Only lock covered instructions. * yuzu/applets/software_keyboard: Override accept() and reject() instead of providing own differently named member functions * yuzu/applets/software_keyboard: std::move std::function instances where applicable * yuzu/applets/software_keyboard: Make slots private functions * filesystem: Clear registered union paths on factory creation * Removed hard coded values for width and height * Report resolution scaling support for vi and am * GDBStub improvements: - Add FPU support - Fix access to TLS Fix clang-format. * sm: Implement RegisterService and UnregisterService ------------------------------------------------------------------- Fri Nov 23 21:40:41 UTC 2018 - pousaduarte@gmail.com - Update to version 20181123: * Added predicate comparison LessEqualWithNan (#1736) * am: Return StubApplet instead of nullptr when AppletId not found * debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot) Prevents memory exceptions when the debug pad is enabled. * core: Relocate CPU core management to its own class * macro_interpreter: Implement AddWithCarry and SubtractWithBorrow. * audout_u: Add support for multiple IAudioOut streams. * maxwell_3d: Implement alternate blend equations. * common/thread: Drop Hungarian notation on SetCurrentThreadName's parameter * common/thread: Make Barrier's 'count' member non-const * common/thread: Initialize class member variables where applicable * common/thread: Group non-member functions together * common/thread: Remove SleepCurrentThread() * common/thread: Remove unused CurrentThreadId() * common: Remove bit_set.h * applets: Add StubApplet This will log all data it receives, log all calls to its methods and push dummy data into both channels on execution. * gl_shader_decompiler: Fix register overwriting on texture calls * kernel/handle_table: Move private static functions into the cpp file * kernel/handle_table: Restrict handle table size to 1024 entries * kernel/handle_table: Default destructor in the cpp file * Properly Implemented TXQ Instruction * nvhost_ctrl_gpu: Implement IoctlGetGpuTime. * Use default values for unknown framebuffer pixel format * common: Remove dependency on xbyak * common/math_util: Simplify std::make_signed usages to std::make_signed_t * common/math_util: Make Rectangle's constructors constexpr * common/math_util: Remove unnecessary static from PI * common/math_util: Remove unused IntervalsIntersect() function * gl_shader_decompiler: Remove UNREACHABLE when setting RZ * gl_shader_decompiler: Use UNIMPLEMENTED instead of LOG+UNREACHABLE when applicable * maxwell_3d: Initialize rasterizer color mask registers as enabled. * am: Correct build failure * file_sys/card_image: Provide named members for the GamecardInfo struct * common/assert: Add UNIMPLEMENTED_IF and UNIMPLEMENTED_IF_MSG for conditional assertions * common/assert: Make the UNIMPLEMENTED macro properly assert * kernel/process: Move <random> include to the cpp file * am/applets: Make the applet data broker part of the applet itself. * am/applets: Replace includes with forward declarations where applicable * am/applets: Relocate comments above the relevant data member in AppletDataBroker * Implemented Fast Layered Copy * kernel/shared_memory: Make Map() and Unmap() take the target process by reference rather than as a pointer * kernel/shared_memory: Add a const qualified member function overload for GetPointer() * kernel/shared_memory: Use 64-bit types for offset and size in CreateForApplet * kernel/shared_memory: Make GetPointer() take a std::size_t instead of a u32 * kernel/shared_memory: Make data members private * ldr: Clean up error codes ------------------------------------------------------------------- Tue Nov 20 20:43:50 UTC 2018 - pousaduarte@gmail.com - Update to version 20181120: * software_keyboard: Fix erroneous extra PushNormalData * software_keyboard: Return correct result code on user cancel operation * applet: Add AppletDataBroker to manage HLE to AM service interaction This cleans up most of the callbacks and such in the Applets::Applet interface, while also properly implementing all four data channels. * software_keyboard: Use correct offset for inital text string * software_keyboard: Check for UTF-8 config flag * software_keyboard: Add max and current length display to dialog * software_keyboard: Push all data over all channels on dialog completion * applet: Use std::queue instead of std::vector for storage stack * applet: Add operation completed callback * software_keyboard: Push buffer size to offset 0x4 in output data * software_keyboard: Make GetText asynchronous * am: Allow applets to push multiple and different channels of data * am: Implement ILibraryAppletAccessor IsCompleted and GetResult * am: Implement text check software keyboard mode Allows the game to verify and send a message to the frontend. * am: Deglobalize software keyboard applet * qt/main: Register Qt Software Keyboard frontend with AM * am: Construct and use proper applets with ILibraryAppletAccessor * qt/applets: Provide Qt frontend implementation of software keyboard * am/applets: Add connector between frontend and AM applet classes * frontend/applets: Add frontend software keyboard provider and default * am/applets: Add Applet superclass to describe a generic applet * am: Unstub ILibraryAppletAccessor::Start * am: Implement PopInteractiveOutData and PushInteractiveInData * am: Convert storage stack to vector * am: Move AM::IStorage to header * am: Move IStorageAccessor to header and update backing buffer * am: Implement CreateTransferMemoryStorage * string_util: Implement buffer to UTF-16 string helper function * svc: Implement svcCreateTransferMemory ------------------------------------------------------------------- Tue Nov 20 13:55:55 UTC 2018 - pousaduarte@gmail.com - Update to version 20181119: * kernel/resource_limit: Clean up interface * lm: Implement SetDestination by doing nothing * configure_input: Use Joycons Docked instead of Connected as label * configure_input_player: Set minimum width on controls * configure_input: Properly update UI components on removal of player * configure_input: Make None a controller option instead of checkbox * hid: Use player-defined controller type as PREFERRED_CONTROLLER * qt: Move controller button config to separate dialog Handles button configuration for all controller layouts and debug pads. Configurable at construction. * qt: Add UI to configure touchscreen parameters This allows adjusting the finger, diameter, and angle of the emulated touchscreen. It also provides a warning to the user about what changing these parameters can do. * qt: Add UI to configure mouse buttons Supports setting the five mouse buttons to any valid controller button/keyboard key (Left, Right, Middle, Foward, Back) * configure_input: Add support for multiplayer and controller types This moves the actual button configuration to a separate dialog and only has the enabled and type controls in the tab. * hid/npad: Update NPad to use player controller bindings and type * hid/touchscreen: Update Touchscreen to use advanced parameters Including finger ID, diamater x/y, and angle. Additionally, checks if the touchscreen is enabled. * hid: Add controller bindings for Mouse controller * hid: Add keyboard bindings for Keyboard controller * hid: Add controller bindings for DebugPad controller Used by developers to test games, not present on retail systems. Some games are known to respond to DebugPad input though, for example Kirby Star Allies. * yuzu/config: Add (de-)serialization for multiplayer Defaults to full keyboard for keyboard -- It did not seem to be necessary to make the keyboard configurable (besides enabled/disabled). * yuzu_cmd/config: Add config deserialization for multiplayer * settings: Add settings for multiple players and controllers Uses the PlayerInput struct to represent all of the data that constitutes a player. * settings: Add Native type for keyboard * settings: Add Native type for mouse buttons * Added missing start/end touch attributes to touchscreen * Added debugpad skeleton * Added controller helper funcs * Changed polling rate of hid and Right joycon rotation * Left joycon rotation button remapping * Added automatic npad switch based on supported stylesets * Added multi-input support and controller assignment at any port ------------------------------------------------------------------- Mon Nov 19 13:31:06 UTC 2018 - pousaduarte@gmail.com - Update to version 20181118: * Eliminated unnessessary memory allocation and copy (#1702) * Correctly sets default system language for yuzu-CLI (#1727) * gl_rasterizer: Remove default clip distance * svc: ResetSignal is not stubbed * drop support for non separate alpha as it seems to cause issues in some games * ldr_ro: Add error check for memory allocation failure * fix sampler configuration, thanks to Marcos for his investigation * small type fix * small fix for alphaToOne bit location * fix for gcc compilation * add AlphaToCoverage and AlphaToOne * add support for fragment_color_clamp * add missing MirrorOnceBorder support where supported * set border color not depending on the wrap mode only enable color mask for the first framebuffer id independent blending is disabled * set default value for point size register * fix viewport and scissor behavior * vi: Implement TransactParcel for Disconnect and DetachBuffer * Implemented CalculateStandardUserSystemClockDifferenceByUser * textures/decoders: Replace magic numbers * ldr_ro: Implement UnloadNro (command 1) Includes actual unmapping and address error checking. * ldr_ro: Fully Implement LoadNro (command 0) * ldr_ro: Implement UnloadNrr (command 3) Includes initialization check, proper address check, alignment check, and actual unloading of a loaded NRR. * ldr_ro: Fully implement LoadNrr (command 2) Includes parameter error checking, hash enforcement, initialization check, and max NRR load check. * process: Make MirrorMemory take state to map new memory as Credits to Subv * pl_u: Resize buffers in shared font data getter to what game requests Fixes unmapped spam in SMP and buffer size errors in some other games * game_list: Only reload game list after relevant settings changed * Handle missing git info when building * travis: Use pre-built image for clang-format target ------------------------------------------------------------------- Sat Nov 17 22:19:43 UTC 2018 - pousaduarte@gmail.com - Update to version 20181117: * Stubbed am:EnableApplicationCrashReport * hwopus: DecodeInterleavedWithPerformance: Fix ordering of output parameters. * kernel/errors: Clean up error codes * Common/Bitfield: store value as unsigned type * Added various bluetooth based cmds for palma * Added SetIsPalmaAllConnectable, SetPalmaBoostMode * Fixed switching operation modes when not running a game * Remove whitespace * Include imageformat dependencies with releases (appveyor) * file_sys/errors: Remove currently unused filesystem error codes * file_sys/errors: Get rid of the ErrCodes namespace * file_sys/errors: Extract FS-related error codes to file_sys/errors.h * Include imageformat dependencies with releases * Fixed priority switching edge case for handheld (#1675) * csrng: Use random integer distribution instead of raw engine * textures/decoders: Minor cleanup * gl_rasterizer_chache: Minor cleanup * service/acc: Correct error case within TrySelectUserWithoutInteraction() * profile_manager: Replace iterative loop with a ranged-for loop in ParseUserSaveFile() * profile_manager: Move UUID Format function definitions into the cpp file * yuzu/configure_system: Mark the entropy mask string as nontranslatable * nfp: Correct erroneous sizeof expression within GetTagInfo() * service/audren_u: Forward RequestUpdateAuto through the same function as RequestUpdate * hid/npad: Add missing break in switch statement within Controller_NPad::OnUpdate() * service: Mark MakeFunctionString with the [[maybe_unused]] attribute. * kernel/thread: Deduplicate scheduler switching code * string_util: Remove ArrayToString() * string_util: Remove TryParse() * string_util: Remove ThousandSeparate() * svc: Use proper random entropy generation algorithm * yuzu: Add hotkey for Amiibo loading * gl_state: Amend compilation warnings * Improved GPU Caches lookup Speed * Implement SetMemoryPermission * Stubbed SetMemoryPermission * game_list: Make add-ons column optional As the add-ons column takes the most processing time out of any (as it needs to search registration for updates/dlc, patch control NCAs, search for mods, etc.), an option was added to disable it. This does not affect the application of add-ons. In large game collections, this decreases game list refresh time by as much as 70%. * filesystem: Cache RegisteredCacheUnion instead of constructing on demand Prevents unnecessary re-reads of the metadata and unnecessary temporary objects. * file_sys: Use common KeyManager in NCA container types Creates a single KeyManager for the entire container and then passes it into the NCA constructor, eliminating several unnecessary KeyManager reads. * content_archive: Add optional KeyManager parameter to constructor Allows resuing a common KeyManager when a large amount of NCAs are handled by the same class. Should the parameter not be provided, a new KeyManager will be constructed, as was the default behavior prior to this. * patch_manager: Add support for dumping decompressed NSOs When enabled in settings, PatchNSO will dump the unmodified NSO that it was passed to a file named <build id>.nso in the dump root for the current title ID. * settings: Add setting to control NSO dumping Also adds UI option in Debug > Dump section, with the idea later things to be dumped (i.e. other game data or textures, etc) will use the same group box. * bis_factory: Add getter for mod dump root for a title ID Equates to yuzu_dir/dump/<title id>/ ------------------------------------------------------------------- Wed Nov 14 13:58:21 UTC 2018 - pousaduarte@gmail.com - Update to version 20181113: * qt: Move Open yuzu Folder action from Help to File * video_core/renderer_base: Remove GL include from the renderer base class files * hle/audren_u: Implement Get/SetRenderingTimeLimit * audio_core/audio_renderer: Fix typo in AuxInfo member name * vm_manager: Unstub GetTotalHeapUsage() * kernel/process: Migrate heap-related memory management out of the process class and into the vm manager * gl_rasterizer: Minor cleanup * gl_rasterizer_cache: Remove unnecessary memory allocation and copy in CopySurface * ns: Implement command 400: GetApplicationControlData * fsp_srv: Implement ISaveDataInfoReader An object to read SaveDataInfo objects, which describe a unique save on the system. This implementation iterates through all the directories in the save data space and uses the paths to reconstruct the metadata. * fsp_srv: Implement command 61: OpenSaveDataInfoReaderBySaveDataSpaceId Needed by Checkpoint. Returns an object that can iterate through all savedata on the system. * savedata_factory: Expose accessors for SaveDataSpace * loader/nro: Call RegisterRomFS from Load Allows NRO homebrew to use the RomFS in the ASET section. * control_metadata: Add GetRawBytes function to NACP Returns the raw bytes of the NACP file. Needed for GetApplicationControlData which returns the raw, unprocessed NACP to the game. ------------------------------------------------------------------- Tue Nov 13 21:34:11 UTC 2018 - pousaduarte@gmail.com - Update to version 20181112: * svc: Return random seed for svcGetInfo RandomEntropy * Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB (#1666) * settings: Add config option to set RNG seed * csrng: Use std::mt19937 engine for random number generation * Added maybe_unused * Added ToPosixTime & ToPosixTimeWithMyRule * Added consts and static * Implement GetClockSnapshot * yuzu/main: Fix compiler warning * correct syntax * Implement SurfaceTarget Texture2DArray ( needed by Mario+Rabbids Kingdom Battle ) ------------------------------------------------------------------- Mon Nov 12 20:50:34 UTC 2018 - pousaduarte@gmail.com - Update to version 20181112: * yuzu: Add a missing "!" to fix the stuck-in-fullscreen bug ------------------------------------------------------------------- Mon Nov 12 13:58:10 UTC 2018 - pousaduarte@gmail.com - Update to version 20181111: * Use core extensions when available to set max anisotropic filtering level * Improve state management by splitting some of the states id separated function to avoid a full apply overhead * Try to fix problems with stencil test in some games, relax translation to opengl enums to avoid crashing and only generate logs of the errors. * set sampler max lod, min lod, lod bias and max anisotropy * gl_shader_decompiler: Guard out of bound geometry shader input reads * gl_rasterizer: Fix compiler warnings * rasterizer_cache: Remove reliance on the System singleton * Correct issue where texturelod could not be applied to 2darrayshadow * Implement 3 coordinate array in TEXS instruction * gl_rasterizer: Skip VAO binding if the state is clean. * gl_rasterizer: Split VAO and VB setup functions. * configure_system: Fix compiler warning ------------------------------------------------------------------- Sun Nov 11 12:34:02 UTC 2018 - pousaduarte@gmail.com - Update to version 20181110: * rasterizer_cache: Add missing virtual destructor to RasterizerCacheObject * Renamed CheckIfOperationChanged to OnDockedModeChanged * Fixups * Ability to switch between docked and undocked mode in-game ------------------------------------------------------------------- Sat Nov 10 16:44:53 UTC 2018 - pousaduarte@gmail.com - Update to version 20181108: * gl_resource_manager: Amend clang-format discrepancies * svcBreak now dumps information from the debug buffer passed (#1646) * Updated npad styles on holdtype switches * fixed spelling error * Added missing log * Implement acc:TrySelectUserWithoutInteraction * gl_rasterizer_cache: Add profiles for Copy and Blit. * gl_resource_manager: Profile creation and deletion. * gl_stream_buffer: Profile orphaning of stream buffer. * microprofile: Drop ReleaseActiveBuffer scope. * Add support to color mask to avoid issues in blending caused by wrong values in the alpha channel in some render targets. * Implement multi-target viewports and blending * memory_manager: Do not MapBufferEx over already in use memory. ------------------------------------------------------------------- Tue Nov 06 19:37:01 UTC 2018 - pousaduarte@gmail.com - Update to version 20181106: * gl_resource_manager: Split implementations in .cpp file. * Implement Cube Arrays ------------------------------------------------------------------- Mon Nov 05 13:37:54 UTC 2018 - pousaduarte@gmail.com - Update to version 20181105: * Fix quickstart link * Fix typo in BufferTransformFlags * qt: Add help option to open yuzu folder Opens a new file manager window at the UserDir. * Fixed HID crash when launching more than 1 game & signaled syleset change event * Fix ASTC Decompressor to support depth parameter * Fix ASTC formats * Implemented ASTC 5x5 * logging: Add DebuggerBackend for logging to Visual Studio ------------------------------------------------------------------- Sun Nov 04 20:18:45 UTC 2018 - pousaduarte@gmail.com - Update to version 20181103: * Fixed incorrect hwopus assert ------------------------------------------------------------------- Fri Nov 02 13:33:20 UTC 2018 - pousaduarte@gmail.com - Update to version 20181101: * configure_system: Contrain profile usernames to 32 characters ------------------------------------------------------------------- Thu Nov 01 23:13:36 UTC 2018 - pousaduarte@gmail.com - Update to version 20181101: * maxwell_3d: Restructure macro upload to use a single macro code memory. * Improve OpenGL state handling * service/usb: Update IPdSession's function table * video_core: Move surface declarations out of gl_rasterizer_cache * Assert Control Codes Generation * Assert Control Flow Instructions using Control Codes * compatdb: Use a seperate endpoint for testcase submission ------------------------------------------------------------------- Wed Oct 31 14:13:35 UTC 2018 - pousaduarte@gmail.com - Update to version 20181030: * general: Remove unused boost inclusions where applicable ------------------------------------------------------------------- Tue Oct 30 14:03:33 UTC 2018 - pousaduarte@gmail.com - Update to version 20181030: * global: Use std::optional instead of boost::optional (#1578) * hle_ipc: Add member function for querying the existence of a domain header * hle_ipc: Make GetDomainMessageHeader return a regular pointer * time_stretch: Switch to values of Citra * video_core: Move OpenGL specific utils to its renderer * renderer_opengl: Correct bpp value for ASTC_2D_8X5_SRGB * Fixed black textures, pixelation and we no longer require to auto-generate mipmaps * Fixed mipmap block autosizing algorithm * Fixed Invalid Image size and Mipmap calculation * Fixed Block Resizing algorithm and Clang Format * Implement Mip Filter * Zero out memory region of recreated surface before flushing * Implement Mipmaps * core: Make System references const where applicable * core: Add missing const variants of getters for the System class * Enable alpha channel for DXT1 texture format * configure_system: Fix compiler warning * Correct bpp value for ASTC_2D_8X5 * Refactor precise usage and add FMNMX, MUFU, FMUL32 and FADD332 * Revert "Update MACOSX_DEPLOYMENT_TARGET to 10.14" * file_sys/patch_manager: Remove unnecessary if-statements (#1586) * Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support * key_manager: Use isxdigit instead of isdigit when reading key file Crypto revisions are hex numbers and this function only checks if the string is valid for stoul in base 16, so it should be isxdigit. * Improved Shader accuracy on Vertex and Geometry Shaders with FFMA, FMUL and FADD * Implement Default Block Height for each format * loader/nsp: Move secondary loader initialization to constructor Prevents nullptr bug when trying to dump the RomFS of an NSP resulting from secondary_loader not being initialized. * gl_rasterizer_cache: Fix compiler warning * service/filesystem: Add DirectoryDelete & DirectoryDeleteRecursively * configure_system: Make GetIcon() return the scaled 64x64 icon * configure_system: Move entry formatting for the user account list entries to its own function * configure_system: Display errors to the user if file operations fail when setting user images * cubeb_sink: ignore null-name device when selecting * svc: Localize the GetInfo enum class to the function itself * svc: Implement svcGetInfo command 0xF0000002 * gl_rasterizer: Implement primitive restart. * maxwell_3d: Add code for initializing register defaults. * gl_rasterizer: Implement depth range. * ldr: Partially implement LoadNro. * process: LoadModule should clear JIT instruction cache. * Kernel/Memory: Added a function to first a suitable guest address at which to allocate a region of a given size. * nro: Make LoadNro method accessible outside of apploader code. * configure_system: Make the file selector text translatable * configure_system: Make GetAccountUsername() an internal function * configure_system: Default initialize member variables * configure_system: Simplify UUID generation call in AddUser() * configure_system: Amend function casing * configure_system: Add missing override specifier on the destructor * configure_system: Make public slots private * Update MACOSX_DEPLOYMENT_TARGET to 10.14 * Implemented LD_L and ST_L * Implement Shader Local Memory * yuzu/main: Notify user of loading errors with Amiibo data * vfs: Remove InterpretAsDirectory and related functions When writing VFS, it initally seemed useful to include a function to in-place convert container files into directories in one homogenous directory structure, but re-evaluating it now there have been plenty of chances to use it and there has always been a better way. Removing as it is unused and likely will not be used. ------------------------------------------------------------------- Thu Oct 25 23:16:13 UTC 2018 - pousaduarte@gmail.com - Update to version 20181025: * Delete git * ips_layer: Use rle_size instead of data_size in RLE patch application Prevents a potential bug when using RLE records in an IPS patch. * service/usb: Update service function tables * service/acc: Move fallback image to file scope * service/acc: Silence compiler warnings * service/acc: Early return in failure case in LoadImage() * kernel/errors: Remove now-unused, unnecessary, error codes * kernel/shared_memory: Return ERR_INVALID_MEMORY_PERMISSIONS instead of ERR_INVALID_COMBINATION * kernel/server_port: Simplify emptiness check within ShouldWait() * kernel/server_port: Change error case return value in Accept() to ERR_NOT_FOUND * kernel/error: Remove leftover 3DS error codes * kernel/svc: Amend returned error code for invalid priorities in CreateThread * kernel/svc: Move and correct returned error code for invalid thread priorities in SetThreadPriority() * kernel/error: Add error code for invalid pointers * kernel/error: Add error code for closed sessions * game_list_worker: Use QString's formatting instead of fmt in FormatPatchNameVersions() * profile_manager: Use std::optional instead of boost::optional * graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function * configure_system: Clear current username before overwriting * game_list: Use QFileInfo instead of common's file functions * game_list: Make game list column headers translatable * bootmanager: Use QStringLiteral instead of std::string to represent the window title * time_stretch: Remove unused m_channel_count member variable * npad: Remove unused controller variable from OnInit() * perf_stats: Remove unused variable within DoFrameLimiting() * yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer * aoc_u: Make use of previously-unused CheckAOCTitleIDMatchesBase() function * vfs: Handle failure of file reading within VfsRawCopy() * key_manager: Remove unused variable in DeriveBase() * decoders: Remove unused variable within SwizzledData() * maxwell_3d: Remove unused variable within ProcessQueryGet() * logging/backend: Add missing services to the log filters * yuzu/configuration/config: Reorganize member variable and function layout * profile_manager: Create save data if it doesn't exist on use * acc: Fix account UUID duplication error * configure_system: Clear selection after user delete * profile_manager: Load user icons, names, and UUIDs from system save * acc: Load user images from config dir * qt: Allow user to select emu user on open save data * qt: Add Profile Manager UI to system settings * am: Pass current user UUID to launch parameters * profile_manager: Load users from emulator settings * settings: Add users and current_user settings and remove username * Added Amiibo support (#1390) * Implement PointSize * Fixed Layered Textures Loading and Cubemaps * CMakeLists: Remove EMU_ARCH_BITS definition * common: Remove memory_util.cpp/.h * cmake: mingw also needs _FILE_OFFSET_BITS=64 * only redefine 64 bit file operation for MSVC * Added assertion failed, reworked logging levels * gl_shader_decompiler: Implement VSETP * gl_shader_decompiler: Abstract VMAD into a video subset * Added break types to svcBreak * Added Saturation to FMUL32I * Assert that multiple render targets are not set while alpha testing * Use standard UBO and fix/stylize the code * Cache uniform locations and restructure the implementation * Remove SyncAlphaTest and clang format * Added Alpha Func * Implemented Alpha Testing * psm: Stub GetChargerType * psm: Stub GetBatteryChargePercentage Used by LovePotion Lua Homebrew. Stubbed to return 100% charge. * service: Add skeleton for psm service Seems to be the power controller. Listed in switchbrew under the category PTM services. * CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR * CMakeLists: Use target_compile_definitions instead of add_definitions to define YUZU_ENABLE_COMPATIBILITY_REPORTING * kernel/process: Make the handle table per-process * engines/maxwell_*: Use nested namespace specifiers where applicable * maxwell_dma: Make variables const where applicable within HandleCopy() * maxwell_dma: Make FlushAndInvalidate's size parameter a u64 * maxwell_dma: Remove unused variables in HandleCopy() * gl_shader_decompiler: Allow std::move to function in SetPredicate * gl_shader_decompiler: Get rid of variable shadowing warnings * gl_shader_decompiler: Fix a few comment typos * gl_shader_decompiler: Implement PBK and BRK * qt: Add support for dumping a DLC Data RomFS * registered_cache: Deduplicate results of ListEntry and ListEntryFilter Prevents a Entry from appearing in the list twice if the user has it installed in two places (e.g. User NAND and SDMC) * fsp_srv: Apply patches to Data storage in OpenDataStorageByDataId * patch_manager: Add support for using LayeredFS with Data ------------------------------------------------------------------- Mon Oct 22 18:12:01 UTC 2018 - pousaduarte@gmail.com - Update to version 20181022: * Fixed FSETP and FSET * Fixed VAOs Float types only returning GL_FLOAT in cases that they had to return GL_HALF_FLOAT * service: Add the basic skeleton for the NPNS services * hid: Update service function table for hidbus * am: Add the basic skeleton for the tcap service * am: Update service function tables * prepo: Update service function table. * lbl: Update service function table names * qt: Move Reinitialize Keys to Tools menu * web_service/CMakeLists: Make the CPPHTTPLIB_OPENSSL_SUPPORT constrained to the web_service library only * svc: Fix vma boundary check in svcQueryMemory * gl_shader_decompiler: Move position varying declaration back to gl_shader_gen * Added auto controller switching to supported controllers and single joycon button rotation * aoc_u: Stub GetAddOnContentListChangedEvent * crypto: Use compressed sizes in offset calculation for KIP decompression Fixes a fatal crash on start when deriving keys. * es: Update service function tables * audio: Update service function tables * omm: Update service function tables * nifm: Update service function tables * hid: Update service function tables * nim: Add the basic skeleton of the nim:eca service * ns: Update service function table * set_cal: Update service function table * GPU: Improved implementation of maxwell DMA (Subv). * decoders: Introduce functions for un/swizzling subrects. * GPU: Invalidate destination address of kepler_memory writes. * fermi_2d: Add support for more accurate surface copies. * svc: Add missing sanitizing checks for MapSharedMemory/UnmapSharedMemory * hid/controller: Remove unused header inclusions * hid/controller/npad: Remove unused dump_idx member variable * hid/controller/npad: Remove unnecessary semicolon from the closing brace of LedPattern's constructor * hid/controller/npad: Remove #pragma once from the cpp file * hid/controller/npad: Move npad_id_list into the cpp file * hid/controller/npad: Remove unnecessary const from void return type * hid/controller: Default the destructors of all controller types in the cpp file * controller_base: Default the base class constructor and destructor in the cpp file * gl_shader_decompiler: Implement HSET2_R * gl_shader_decompiler: Implement HSETP2_R * gl_shader_decompiler: Implement HFMA2 instructions * gl_shader_decompiler: Implement HADD2_IMM and HMUL2_IMM * gl_shader_decompiler: Implement non-immediate HADD2 and HMUL2 instructions * gl_shader_decompiler: Setup base for half float unpacking and setting ------------------------------------------------------------------- Fri Oct 19 18:11:47 UTC 2018 - pousaduarte@gmail.com - Update to version 20181019: * Stubbed home blocking * svc: Check for word alignment of addresses within svcArbitrateLock/svcArbitrateUnlock * common: Add function for checking word alignment to alignment.h * common: Move Is4KBAligned() to alignment.h * core: Remove unnecessary assert in ArmInterface() * Used better names for mm:u and fixed bad stub * Clang format and other fixes * Implement Reinterpret Surface, to accurately blit 3D textures * Implement GetInRange in the Rasterizer Cache * Implement 3D Textures * gl_rasterizer_cache: Remove unnecessary block_depth=1 on Flush. * gl_rasterizer_cache: Remove unnecessary temporary buffer with unswizzle. * Using dual joycons as the default controller * gl_rasterizer_cache: Use AccurateCopySurface for use_accurate_gpu_emulation. * config: Rename use_accurate_framebuffers -> use_accurate_gpu_emulation. * rasterizer_cache: Refactor to support in-order flushing. * content_archive: Simpify assignment of bktr_base_romfs in the constructor * content_archive: Make IsValidNCA() an internally linked function * content_archive: Simplify rights ID check * content_archive: Split loading into separate functions * content_archive: Pass and take NCASectionHeader instance by reference * XCI: Add function for checking the existence of the program NCA * gl_rasterizer_cache: Refactor to only call GetRegionEnd on surface creation. * gl_rasterizer_cache: Only flush when use_accurate_framebuffers is enabled. * gl_rasterizer_cache: Separate guest and host surface size managment. * gl_rasterizer_cache: Rename GetGLBytesPerPixel to GetBytesPerPixel. * gl_rasterizer_cache: Remove unused FlushSurface method. * gl_rasterizer: Implement flushing. * gl_rasterizer_cache: Remove usage of Memory::Read/Write functions. * gl_rasterizer_cache: Clamp cached surface size to mapped GPU region size. * memory_manager: Add a method for querying the end of a mapped GPU region. * rasterizer_cache: Reintroduce method for flushing. * gl_rasterizer_cache: Reintroduce code for handling swizzle and flush to guest RAM. * savedata_factory: Add TemporaryStorage SaveDataSpaceId Required for TemporaryStorage saves (in addition to SaveDataType) * savedata_factory: Add support for DeviceSaveData Uses the same path as SaveData except with UID 0. Adds a warning if UID is not 0. * svc: Clarify enum values for AddressSpaceBaseAddr and AddressSpaceSize in svcGetInfo() * Implement Arrays on Tex Instruction * Fix TLDS * Wip * Dynamically decide handheld variant based on supported npad id priority * Added BeginPermitVibrationSession and EndPermitVibrationSession * Added GetLedPattern and HandheldVariant * Kirby expects handheld controllers to be at position 8 * Added the ability to "disconnect" individual npads * Removed unneeded forward declarations * Addressed changes for better hid * "Better Hid" rework part 1 ------------------------------------------------------------------- Wed Oct 17 19:54:40 UTC 2018 - pousaduarte@gmail.com - Update to version 20181016: * Implement VI ConvertScalingMode (#1475) * file_sys/registered_cache: Use unique_ptr and regular pointers instead of shared_ptrs where applicable * travis: Ignore binary files when checking for trailing whitespace * file_sys/control_metadata: Get rid of magic constants * nso: Return an optional address from LoadModule * shader_bytecode: Add Control Code enum 0xf * gl_shader_decompiler: Fixup style inconsistencies * gl_rasterizer: Silence implicit cast warning in glBindBufferRange * core_cpu: Make Cpu scheduler instances unique_ptrs instead of shared_ptrs * core: Make the live Cpu instances unique_ptrs instead of shared_ptrs * core: Make the exclusive monitor a unique_ptr instead of a shared_ptr * core: Make CPUBarrier a unique_ptr instead of a shared_ptr * crypto: Various crypto fixes for quickstart guide * nso: Make LoadModule take a VfsFile by const reference * nro: Make LoadNro take a VfsFile by const reference * aoc: Read DLC base title ID from RegisteredCache * aoc: Return size in ListAddOnContent * yuzu/main: Apply the [[maybe_unused]] attribute to the parameter of SetDiscordEnabled() * patch_manager: Move non-Program RomFS patch log to Debug Normal Program-type patches will still be logged to aid in debugging, but for others (mainly Control), it was moved to Debug. * content_archive: Move get key log to Trace level Avoids printing live keys in the general log. * core/CMakeLists: Make all web_service-related libraries private * web_backend: Make Client use the PImpl idiom * telemetry_json: Use the PImpl idiom to avoid unnecessary dependency exposure * telemetry_json: Add missing override specifier to the destructor of TelemetryJson * telemetry_json: Take std::string parameters by value * telemetry_json: Remove unnecessary includes * core/CMakeLists: Use target_compile_definitions instead of add_definitions for specifying ENABLE_WEB_SERVICE ------------------------------------------------------------------- Mon Oct 15 13:09:04 UTC 2018 - pousaduarte@gmail.com - Update to version 20181014: * Stop all threads on svcBreak * Shorten the implementation of 3D swizzle to only 3 functions * svc: Implement svcGetProcessInfo * Fix a Crash on Zelda BotW and Splatoon 2, and simplified LoadGLBuffer * Propagate depth and depth_block on modules using decoders * Remove old Swizzle algorithms and use 3d Swizzle * Implement Precise 3D Swizzle * Implement Fast 3D Swizzle * filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem instance by reference * yuzu/main: Simplify OnMenuLoadFile() * Added ASTC 5x4; 8x5 * partition_data_manager: Reserve and insert data within output vector in DecryptPackage2() * partition_data_manager: Remove unused std::map instance within DecryptPackage2() * partition_data_manager: Take package2_keys by const reference * partition_data_manager: Move IV data to where it's needed in DecryptPackage2() * partition_data_manager: Remove commented out code * key_manager/partition_data_manager: Silence truncation compiler warnings * partition_data_manager: Dehardcode array bounds * partition_data_manager: Take VirtualFile by const reference in constructor * partition_data_manager: Amend constructor initializer list order * partition_data_manager: Remove unused includes * key_manager: Use std::vector's insert() instead of std::copy with a back_inserter * key_manager: Brace long conditional body * key_manager: Don't assume file seeks and reads will always succeed * key_manager: Remove unnecessary seek in DeriveSDSeed() ------------------------------------------------------------------- Sat Oct 13 13:02:01 UTC 2018 - pousaduarte@gmail.com - Update to version 20181012: * Implemented helper function to correctly calculate a texture's size * kernel/process: Make CodeSet a regular non-inherited object * svc: Fix typos in sanitizing checks for MapMemory/UnmapMemory * partition_data_manager: Rename system files for hekate * qt: Add rederive keyset menu option * qt: Add key derivation progress bar on initial setup * crypto: Add PartitionDataManager Keeps track of system files for key derivation * key_manager: Add support for loading keys from partition data * key_manager: Add ETicket key derivation Derives titlekeys * key_manager: Add base key derivation Derives master keys, game encryption keys, and package1/2 keys * key_manager: Add BIS key getter * key_manager: Add support for more keys TSEC, SBK, BIS, and other Sources for proper derivation * key_manager: Add keyblob support * key_manager: Add support for crypto revisions past 04 * key_manager: Add support for comments in keyfiles * vfs: Move forward declarations to separate file * key_manager: Add support for console-specific keyfile * key_manager: Rename KEK to Kek * externals/mbedtls: Enable CMAC module Required for keyblob verification ------------------------------------------------------------------- Fri Oct 12 17:48:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20181012: * thread: Remove unnecessary memset from ResetThreadContext() * Returned an error before processing other remaps * Made the minimum alignment more clear * Added error codes for nvmap * Passing an invalid nmap handle to Remap should throw an error * gl_shader_decompiler: Implement VMAD * nvhost_as_gpu: Flush CPU VAddr on UnmapBuffer. * HwOpus, Implemented DecodeInterleavedWithPerformance * svc: Add missing address range sanitizing checks to MapMemory/UnmapMemory * kernel/thread: Use a regular pointer for the owner/current process * Add memory Layout to Render Targets and Depth Buffers * Changed all casts in svc_wrap.h to be static_cast instead * Use a better name than "dont_kill_application" * Fixed incorrect types for svcBreak * Fixed block height settings for RenderTargets and Depth Buffers, and added block width and block depth * Implement Scissor Test * Assert Scissor tests * gl_shader_decompiler: Move position varying location from 15 to 0 and apply an offset * gl_shader_decompiler: Implement geometry shaders * video_core: Allow LabelGLObject to use extra info on any object ------------------------------------------------------------------- Wed Oct 10 12:43:18 UTC 2018 - pousaduarte@gmail.com - Update to version 20181009: * gl_shader_decompiler: Remove unused variables in TMML's implementation * telemetry_session: Remove doxygen comment for a non-existent parameter * telemetry_session: Add missing includes * telemetry_session: Remove unimplemented FinalizeAsyncJob prototype * telemetry_session: Use a std::array in GenerateTelemetryId() * patch_manager: Return a std::unique_ptr from ParseControlNCA() and GetControlMetadata() instead of a std::shared_ptr * implemented touch in Qt and SDL * ips_layer: Avoid constructing std::vector instances where not necessary * ips_layer: Remove unnecessary explicit std::pair constructor in std::array * ips_layer: Add missing includes * ips_layer: std::move data within PatchIPS() and Apply() * ips_layer: Silence truncation and conversion warnings * Added bitfield instead of manually checking if the bit is set * EffectOutStatus padding is now in hex * Actual kill execution when the bit isn't set, not the other way around * svcBreak, Signalling to the debugger should not kill execution * Unmapping an unmapped buffer should succeed * nso/nro: Use default allocation size for arg_data * cmd: Support passing game arguments from command line * qt: Add UI option to configure arguments * settings: Add program_args string setting * nso/nro: Add NSO arguments structure to data section Only added if arguments string is non-empty and a pass is requested by loader. * Fixed assertion due to CountAddOnContent * Fixups for softlock * Fixed missing return * Fixed smo softlock * patch_manager: Avoid romfs_ext requirement for patching * fsmitm_romfsbuild: Extract stubs and IPS to romfs_ext dir * fsmitm_romfsbuild: Add support for stubbing and IPS patches in LFS * ips_layer: Fix inaccuracies with comments and flags * ips_layer: Deduplicate resource usage * ips_layer: Add support for escape sequences and midline comments * patch_manager: Add support for IPSwitch format patches * ips_layer: Add IPSwitchCompiler to process IPSwitch format * hex_util: Add HexVectorToString and HexStringToVector Converts between bytes and strings when the size is not known at compile time. ------------------------------------------------------------------- Sun Oct 07 14:07:17 UTC 2018 - pousaduarte@gmail.com - Update to version 20181006: * gl_rasterizer: Fixup undefined behaviour in SetupDraw * yuzu/yuzu_cmd: Add checks for required extension ARB_copy_image. * Implemented Depth Compare and Shadow Samplers * Remove "#" in the version number * citra_qt/configuration: misc input tab improvements * Update fmt to 5.2.1 It seems to fix msvc warnings * Added forward define for ServerPort * fermi_2d: Implement simple copies with AccelerateSurfaceCopy. * gl_rasterizer: Add rasterizer cache code to handle accerated fermi copies. * gl_rasterizer_cache: Implement a simpler surface copy using glCopyImageSubData. * Ported #4296 from citra * romfs_factory: Extract packed update setter to new function * patch_manager: Add support for NSP packed updates Reads as Update (NSP) in add-ons * game_list: Add XCI update versioning to game list * patch_manager: Add support for packed updates Will prefer any installed update over the packed version. * loader: Add getter for packed update Reads the update included with the game if it has one and adds the new ErrorNoPackedUpdate status. * loader: Add ReadRomFSIVFCOffset to NSP, XCI, and NAX loaders Fixes errors with certain updates * Implemented Texture Processing Modes in TEXS and TLDS ------------------------------------------------------------------- Sat Oct 06 23:21:51 UTC 2018 - pousaduarte@gmail.com - Update to version 20181006: * CONTRIBUTING.md - remove note about casting numeric types * qt: Update telemetry links * kernel/mutex: Amend behavior of TransferMutexOwnership() * thread: Make the scheduler pointer a regular pointer * ui_settings: Place definition of the theme array within the cpp file * gl_rasterizer: Implement quads topology * Review comments - part 5 * Review comments -part 4 * Review comments - part 3 * web_backend: protect jwt cache with a mutex * Address more review comments * Address a bunch of review comments * Port web_service from Citra * Add submodules ------------------------------------------------------------------- Fri Oct 05 18:50:25 UTC 2018 - pousaduarte@gmail.com - Update to version 20181005: * text_formatter: Avoid unnecessary string temporary creation in PrintMessage() * kernel/thread: Make all instance variables private ------------------------------------------------------------------- Fri Oct 05 11:40:17 UTC 2018 - pousaduarte@gmail.com - Update to version 20181004: * submission_package: Avoid dangling std::string_view within SetTicketKeys() * submission_package: Correct location of null check within SetTicketKeys() * submission_package: Use std::string's rfind() when looking for the extension in InitializeExeFSAndRomFS() * submission_package: Ensure the 'extracted' member variable is always initialized * submission_package: Move ExeFS and RomFS initialization to its own function * submission_package: Move NCA reading code to its own function * submission_package: Move ticket key setting to its own function * submission_package: Invert conditionals within NSP's constructor to reduce nesting * card_image: Ensure program_nca_status is always initialized * aoc_u: Fix edge case with DLC that causes breaks In some games (Splatoon 2 and Splatoon 2 Splatfest World Premiere, notably), pass offset=0 and count=2047 into the ListAddOnContent method which should return all DLCs for the current title. The (presumably) intended behavior is to successfully return a empty array but because of a < v. <= in an if statement, a failure error code was returned causing these games to svcBreak. This fixes that if statement. * services/fsp_srv: Amend service function table * service/lbl: Update service function table * configure_input: Make analog mapping strings translatable * configure_audio: Move combo box index setting to their own functions * configure_audio: Use QString::fromStdString() for converting audio device names * configure_audio: Add disambiguation comment for the volume percentage string * configure_graphics: Make functions internally linked where applicable * nso: Optimize loading of IPS patches * string_util: unify UTF8<->UTF16 conversion to codecvt * string_util: remove TString conversion for windows * string_util: remove ShiftJIS/CP1252 conversion function * deconstructed_rom_directory: Force NSO loader to patch NSOs * nso: Add framework to support patching of uncompressed NSOs * patch_manager: Add PatchNSO function While PatchExeFS operated on the entire directory, this function operates on the uncompressed NSO. Avoids copying decompression code to PatchManager. * patch_manager: Use strings for patch type instead of enum * file_sys: Implement function to apply IPS patches * nso: Replace NSOHeader padding bytes with build ID ------------------------------------------------------------------- Wed Oct 03 20:19:00 UTC 2018 - pousaduarte@gmail.com - Update to version 20181001: * gl_rasterizer: Fixup unassigned point sizes * aoc_u: Extract AccumulateAOCTitleIDs to separate function * aoc_u: Implement GetAddOnContentBaseId * aoc_u: Implement Count, List and Prepare AddOnContent Commands #2, #3, and #7 * romfs_factory: Read from all locations with StorageId None Previous behavior was to assert. Seems to mirror expected game behavior. * patch_manager: Add DLC recognition to PatchManager * gl_rasterizer_cache: Fixes to how we do render to cubemap. * externals: Update dynarmic to 4e6848d * gl_rasterizer_cache: Add check for array rendering to cubemap texture. * gl_rasterizer_cache: Implement render to cubemap. * gl_shader_decompiler: TEXS: Implement TextureType::TextureCube. * gl_rasterizer_cache: Add support for SurfaceTarget::TextureCubemap. * gl_rasterizer_cache: Implement LoadGLBuffer for Texture2DArray. * gl_rasterizer_cache: Update BlitTextures to support non-Texture2D ColorTexture surfaces. * gl_rasterizer_cache: Track texture target and depth in the cache. * gl_rasterizer_cache: Workaround for Texture2D -> Texture2DArray scenario. * gl_rasterizer_cache: Keep track of surface 2D size separately from total size. * Fix trailing whitespace * OSX: Set MACOSX_DEPLOYMENT_TARGET to 10.13 * kernel/svc: Implement svcGetThreadContext() * kernel/process: Add a data member to determine if a process is 64-bit or not. * kernel/process: Make data member variables private * arm_interface: Add missing fpsr/tpidr members to the ThreadContext struct * Implement ISystemDisplayService::GetDisplayMode * loader: Make the Load() function take a process as a regular reference, not a SharedPtr * qt: Install System TitleTypes to System NAND * Add 1D sampler for TLDS - TexelFetch (Mario Rabbids) ------------------------------------------------------------------- Sat Sep 29 18:13:01 UTC 2018 - pousaduarte@gmail.com - Update to version 20180929: * kernel/object: Remove unnecessary std::move from DynamicObjectCast() * video_core: Implement point_size and add point state sync * gl_state: Pack sampler bindings into a single ARB_multi_bind * fsmitm_romfsbuild: std::move std::vector instances in Build() * fsmitm_romfsbuild: Replace manual value aligning with Common::AlignUp() * patch_manager: Invert conditionals within ApplyLayeredFS() * video_core: Add asserts for CS, TFB and alpha testing * vfs_vector: Amend initializer list order in VectorVfsFile's constructor initializer list * fsmitm_romfsbuild: Avoid type truncation warnings * fsmitm_romfsbuild: Remove unnecessary constructors and initializers for RomFSBuildFileContext and RomFSBuildDirectoryContext * fsmitm_romfsbuild: Remove unnecessary loops in Build() * fsmitm_romfsbuild: Make auto variable into a std::size_t variable within Build() * yuzu/main: Resolve precedence bug within CalculateRomFSEntrySize() * yuzu/main: Move functions stored into static std::function instances out of OnGameListDumpRomFS() * vfs/etc: Append std:: to size_t usages * vfs_concat/vfs_layered: Remove friend declarations from ConcatenatedVfsFile * vfs_static: Remove template byte parameter from StaticVfsFile * service: Add missing headers inclusions where applicable * core_cpu: Make arm_interface instances a std::unique_ptr * kernel/scheduler: Take ARM_Interface instance by reference in the constructor * travis: Make macOS builds utilize Xcode 10 * CMake: Remove superfluous CMAKE_RUNTIME_OUTPUT_DIRECTORY assignment * memory: Dehardcode the use of fixed memory range constants * svc: Report correct memory-related values within some of the cases in svcGetInfo() * memory: Dehardcode the use of a 36-bit address space * process/vm_manager: Amend API to allow reading parameters from NPDM metadata * stream: Preserve enum class type in GetState() * FPCR register was uninitialized at start up * Meta: Add gitattributes file * game_list: move SearchField to game_list_p.h and fix untranslated text * Reverse stride align restriction on FastSwizzle due to lost performance * Join both Swizzle methods within one interface function * Standarized Legacy Swizzle to look alike FastSwizzle and use a Swizzling Table instead * Remove same output bpp restriction on FastSwizzle * Improved Legacy Swizzler to be better documented and work better * Improved fast swizzle and removed restrictions to it ------------------------------------------------------------------- Wed Sep 26 18:17:51 UTC 2018 - pousaduarte@gmail.com - Update to version 20180925: * fsmitm: Cleanup and modernize fsmitm port * svc: Updated svc names * qt: Add UI elements for LayeredFS and related tools * romfs: Implement CreateRomFS * file_sys: Port Atmosphere-NX fs_mitm implementation * filesystem: Add LayeredFS VFS directory getter * bis_factory: Add mod directory VFS getter * patch_manager: Add LayeredFS mods support * vfs_concat: Rewrite and fix ConcatenatedVfsFile * vfs_layered: Add LayeredVfsDirectory Reads multiple dirs through as if a waterfall. * vfs_vector: Add VectorVfsFile Maps a vector into the VFS interface. * vfs_static: Add StaticVfsFile Always returns the template argument byte for all reads. Doesn't support writes. * vfs: Add and rewite VfsRawCopy functions * vfs: Add GetEntries method Maps name string to directory or file. * common_paths: Add Load and Dump dirs ------------------------------------------------------------------- Mon Sep 24 18:11:40 UTC 2018 - pousaduarte@gmail.com - Update to version 20180923: * Implemented fatal:u properly (#1347) * Stubbed IRS (#1349) * Added glObjectLabels for renderdoc for textures and shader programs (#1384) * common/thread: remove YieldCPU() * Port citra-emu/citra#4214: "Set citra-qt project as default StartUp Project in Visual Studio" * Corrected SSL::SetInterfaceVersion ------------------------------------------------------------------- Sun Sep 23 20:51:39 UTC 2018 - pousaduarte@gmail.com - Update to version 20180923: * correct BC6H * Added audren:u#GetAudioRendererState * Build: Reintroduce Appveyor deploy * game_list: Add Qt SmoothTransformation to picture scaling * gl_state: Remove unused type alias * Update config.cpp * shader_bytecode: Lay out the Ipa-related enums better * shader_bytecode: Make operator== and operator!= of IpaMode const qualified * gl_stream_buffer: Fix use of bitwise OR instead of logical OR in Map() * svc: Move most process termination code to its own function within Process * thread/process: Move TLS slot marking/freeing to the process class * Logging: Change the TimeStretch::Process log from debug to trace level. ------------------------------------------------------------------- Fri Sep 21 12:56:14 UTC 2018 - pousaduarte@gmail.com - Update to version 20180921: * Added support for uncompressed NSOs (#1374) * RasterizerGL: Use the correct framebuffer when clearing via the CLEAR_BUFFERS register. * Revert GetRequestState * kernel/thread: Use owner_process when setting the page table in SetupMainThread() * arm_interface: Replace kernel vm_manager include with a forward declaration * Correct endianness of BKPT * arm_dynarmic: Halt when BRK encountered * Fixed submit * Added IRequest::Submit * game_list: Handle plurals within setFilterResult() better * file-sys: Default heavy-weight class destructors in the cpp file * arm_dynarmic: Support BKPT instruction * externals: Update dynarmic to 171d116 * Update MinGWCross.cmake to lowercase * travis: running mingw build on travis ci * yuzu-cmd: Add call to CreateFactories * ring_buffer: Use std::atomic_size_t in a static assert * ring_buffer: Use std::hardware_destructive_interference_size to determine alignment size for avoiding false sharing ------------------------------------------------------------------- Thu Sep 20 18:26:20 UTC 2018 - pousaduarte@gmail.com - Update to version 20180920: * Removed unneeded event clear * Implemented NTC & IEnsureNetworkClockAvailabilityService * control_metadata: Remove unnecessary else within GetLanguageEntry() * control_metadata: Move language name array definition to the cpp file * xts_archive: Remove unused variables from CalculateHMAC256() * xts_archive: Make AsNCA() return a std::unique_ptr instead of a std::shared_ptr * nax: Avoid re-parsing NAX data with GetFileType() * nax: Avoid unnecessary calls to AsNCA() in IdentifyType() * xts_archive: Ensure NAX's type member is always initialized * xts_archive: Amend initializer order of NAX's constructor * savedata_factory: Add TemporaryStorage SaveDataType ------------------------------------------------------------------- Wed Sep 19 18:10:43 UTC 2018 - pousaduarte@gmail.com - Update to version 20180919: * Reworked incorrect nifm stubs (#1355) * Fixed GetAccountId stub, Added error code for OpenDirectory and added ActivateNpadWithRevision * gl_rasterizer: Fix StartAddress handling with indexed draw calls. * Removed MakeBuilder as it's not needed anymore * Removed the use of rp.MakeBuilder * Invalid default value of username in yuzu_cmd (#1334) * Added ActivateGesture * Implemented GetDefaultDisplayResolution * Added StopSixAxisSensor * Stubbed ActivateConsoleSixAxisSensor & StartConsoleSixAxisSensor * Implemented GetImageSize * svc_wrap: Convert the PARAM macro into a function * Implemented Internal Flags * gl_shader_decompiler: Avoid truncation warnings within LD_A and ST_A code * core/core_cpu: Replace exclusive monitor include with forward declaration * Implemented I2I.CC on the NEU control code, used by SMO * Implemented CSETP * Implemented Control Codes * time_stretch: Remove unused <array> include * stream: Replace includes with forward declarations where applicable * audio_renderer: Replace includes with forward declarations where applicable * Added asserts for texture misc modes to texture instructions * Added texture misc modes to texture instructions ------------------------------------------------------------------- Tue Sep 18 23:26:28 UTC 2018 - pousaduarte@gmail.com - Update to version 20180918: * arm_dynarmic: Correct ExclusiveWrite128()'s operation * arm_interface: Remove ARM11-isms from the CPU interface * kernel/mutex: Replace ResultCode construction for invalid addresses with the named variant * kernel/svc: Handle error cases for svcArbitrateLock() and svcArbitrateUnlock() * yuzu/util: Antialias game list compatibility pixmaps * game_list_p: Amend typo in GameListItemCompat's constructor parameter * game_list_p: Take map iterator contents by const reference * Implement ASTC_2D_8X8 (Bayonetta 2) * Implement RenderTargetFormat::BGR5A1_UNORM (Pokken Tournament DX) * Shaders: Implemented multiple-word loads and stores to and from attribute memory. * Port # #4192 from Citra: "svc: change unknown to thread in CreateThread" * Tests: Remove glad test OS X work-around * Port #4182 from Citra: "Prefix all size_t with std::" * Optimized Texture Swizzling * cubeb_sink: Get rid of variable shadowing within CubebSink's constructor * cubeb_sink: Correct context name in ListCubebSinkDevices() * services/sm: Amend error code constants * kernel/svc: Sanitize creation of shared memory via svcCreateSharedMemory() * kernel/svc: Sanitize addresses, permissions, and sizes within svcMapSharedMemory() and svcUnmapSharedMemory() * gl_shader_decompiler: Get rid of variable shadowing within LEA instructions * kernel/svc: Sanitize addresses and sizes within svcMapMemory() and svcUnmapMemory() * kernel/svc: Sanitize heap sizes within svcSetHeapSize() * audio_core/time_stretch: Silence truncation warnings in Process() * kernel/errors: Amend error code for ERR_NOT_FOUND * service/vi: Replace includes with forward declarations where applicable * GPU: Basic implementation of the Kepler Inline Memory engine (p2mf). * Replace old FragmentHeader for the new Header * Implemented (Partialy) Shader Header ------------------------------------------------------------------- Fri Sep 14 12:55:41 UTC 2018 - pousaduarte@gmail.com - Update to version 20180913: * kernel/thread: Include thread-related enums within the kernel namespace * service: Use nested namespace specifiers where applicable * services/pl_u: Add missing Korean font to the fallback case for shared fonts ------------------------------------------------------------------- Thu Sep 13 23:40:01 UTC 2018 - pousaduarte@gmail.com - Update to version 20180913: * ipc: minor fix * Use ARB_multi_bind for uniform buffers (#1287) * gl_rasterizer_cache: B5G6R5U should use GL_RGB8 as an internal format. * audio_core: Flush stream when not playing anything * Implemented Texture Processing Modes * yuzu/configure_gamelist: Make combo box strings translatable * yuzu/configure_gamelist: Use std::array instead of std::vector for translatable strings * yuzu/configure_gamelist: Move combo box initializtion to their own functions * audio_core/sink_details: Change std::string parameter into std::string_view * pl_u: Eliminate mutable file-scope state * cubeb_sink: Downsample arbitrary number of channels * cubeb_sink: Perform audio stretching * audio_core: Add audio stretcher * cubeb_sink: Hold last available value instead of writing zeros * cubeb_sink: Use RingBuffer * common: Implement a ring buffer * Add audio stretching support ------------------------------------------------------------------- Wed Sep 12 18:16:41 UTC 2018 - pousaduarte@gmail.com - Update to version 20180912: * Update CMakeLists.txt * svc: Return ERR_INVALID_PROCESSOR_ID in CreateThread() if an invalid processor ID is given * kernel/errors: Correct error codes for invalid thread priority and invalid processor ID * svc: Do nothing if svcOutputDebugString() is given a length of zero * svc: Correct parameter type for OutputDebugString() ------------------------------------------------------------------- Wed Sep 12 13:10:49 UTC 2018 - pousaduarte@gmail.com - Update to version 20180911: * gl_rasterizer_cache: Always blit on recreate, regardless of format. * game_list: Resolve variable shadowing within LoadCompatibilityList() * game_list: Use QJsonValueRef() within LoadCompatibilityList() * service/audio: Replace includes with forward declarations where applicable * service/prepo: Move class into the cpp file * gl_shader_cache: Remove cache_width/cache_height. * gl_rasterizer: Use ARB_texture_storage. * Implemented LEA and PSET * Implemented encodings for LEA and PSET * externals: Place font data within cpp files * hle/service: Default constructors and destructors in the cpp file where applicable * Fixed renderdoc input/output textures not working due to render targets * Use open-source shared fonts if no dumped file is available (#1269) * Port #4141 from citra: Joystick hotplug support (#1275) * video_core: Refactor command_processor. * video_core: Move command buffer loop. * Remove multicore configure_general.ui * remove multicore in configure_general.cpp * rasterizer: Drop unused handler. * gl_rasterizer_cache: Only use depth for applicable texture formats. * gl_rasterizer: Implement clear for non-zero render targets. * gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB. * gl_rasterizer: Implement multiple color attachments. * service: Remove unused g_kernel_named_ports variable * Implemented TMML * game_list: Make CompatibilityList parameter of NavigateToGamedbEntryRequested() a const reference * yuzu: Move compatibility list specifics to their own source files * Implemented TXQ dimension query type, used by SMO. * video_core: fixed arithmetic overflow warnings & improved code style * Port Citra #4047 & #4052: add change background color support * hid: Implement ReloadInputDevices * Change name of TEXQ to TXQ, in order to match NVIDIA's naming * GPU/DMA: Partially implemented the 'enable_2d' bit in the DMA engine. * yuzu-cmd: fix SDL logging ------------------------------------------------------------------- Sun Sep 09 10:13:14 UTC 2018 - pousaduarte@gmail.com - Update to version 20180908: * Externals: Update xbyak * audio_renderer: Rename AudioOut instance to audio_out * yuzu: fix title bar display * gl_rasterizer_cache: Improve accuracy of RecreateSurface for non-2D textures. * maxwell_3d: Remove assert that no longer applies. * gl_rasterizer_cache: Partially implement several non-2D texture types. * gl_shader_decompiler: Partially implement several non-2D texture types (Subv). * gl_rasterizer: Implement texture wrap mode p. * gl_rasterizer_cache: Track texture depth. * gl_rasterizer_cache: Remove impl. of FlushGLBuffer. * gl_rasterizer_cache: Keep track of texture type per surface. * gl_rasterizer_cache: Remove unused DownloadGLTexture. * gl_state: Keep track of texture target. ------------------------------------------------------------------- Sat Sep 08 11:40:36 UTC 2018 - pousaduarte@gmail.com - Update to version 20180908: * gl_rasterizer: Use baseInstance instead of moving the buffer points. * video_core: Arithmetic overflow warning fix for gl_rasterizer (#1262) * externals: Update dynarmic to 9594465 * yuzu: Move GameListWorker to its own source files * For SDL Frontend * Better Title Bar Display * core: Migrate current_process pointer to the kernel * gl_rasterizer: Call state.Apply only once on SetupShaders. * gl_shader_decompiler: Implement saturate mode for IPA. * gl_buffer_cache: Default initialize member variables * gl_buffer_cache: Make GetHandle() a const member function * gl_buffer_cache: Remove unnecessary includes * gl_buffer_cache: Make constructor explicit * video_core/CMakeLists: Add missing gl_buffer_cache.h * core/core: Remove unnecessary sm/controller include * file_sys/nca_patch: Amend constructor initializer list order * file_sys/nca_patch: Remove unnecessary includes * file_sys/patch_manager: Add missing includes * frontend: Set swap interval to 0 * gl_shader_gen: Initialize position. ------------------------------------------------------------------- Thu Sep 06 07:32:06 UTC 2018 - pousaduarte@gmail.com - Update to version 20180905: * Implemented IPA Properly * gl_rasterizer: Skip TODO log. * file_sys/submission_package: Correct constructor initialization list order * gl_rasterizer: Implement a VAO cache. * file_sys/submission_package: Replace includes with forward declarations where applicable * renderer_opengl: Implement a buffer cache. * bktr: Fix bucket overlap error * drd: Parse title ID from program metadata * patch_manager: Centralize Control-type NCA parsing * nsp: Fix error masking issue with XCI files Now display correct error instead of catch-all MissingProgramNCA * game_list: Fix version display on non-NAND titles * bktr: Add logging on successful patch * game_list: Use friendly game versions Mainly, from control.nacp metadata instead of cnmt metadata * bktr: Implement IVFC offset shifting Fixes base game read errors * bktr: Fix missing includes and optimize style * main: Make game updates installable * game_list: Display patch names and versions on list * loader: Add BKTR-specific error messages and codes * loader: Ignore patches on NRO and DRD * patch_manager: Add usages of patches to ExeFS * file_sys: Add class to manage game patches Right now only includes Updates, but should eventually contain all of the other patches we need. * file_sys: Add BKTR patching mechanism * content_archive: Add BKTR header parsing to NCA * registration: Add RegisteredCacheUnion Aggregates multiple caches into one interface * game_list: Use RegisteredCacheUnion for installed Reduces code * aes_util: Fix error involving reads of less than 0x10 Issues with block size are fixed by making all reads minimum length of 0x10 ------------------------------------------------------------------- Wed Sep 05 12:21:26 UTC 2018 - pousaduarte@gmail.com - Update to version 20180904: * gl_shader_cache: Use an u32 for the binding point cache. * main: Only show DRD deprecation warning once * control_metadata: Use alternate language names if AmericanEnglish isn't available * card_image: Add program title ID getter * qt: Add deprecation warnings for DRD format * registration: Fix NSP installation errors * nsp: Comply with style and performance guidelines * qt: Add UI support for NSP files * registration: Add support for installing NSP files * loader: Add AppLoader for NSP files * card_image: Parse XCI secure partition with NSP Eliminated duplicate code and adds support for Rev1+ carts * file_sys: Add Nintendo Submission Package (NSP) * drd: Load title ID from program metadata Previously only loaded from control metadata * loader: Add NSP file type and NSP-specific errors * key_manager: Avoid autogeneration if key exists * common/logging: Amend documentation comments * common/logging/filter: Replace C-style case with C++ static_cast * common/logging/filter: Make constructor explicit * core: Use a raw pointer in GetGPUDebugContext. * command_processor: Use std::array for bound_engines. * Update microprofile scopes. * file_sys: Replace includes with forward declarations where applicable * qt: Add message about not moving contents on dir change * qt: Add UI options to change NAND/SD dirs * settings: Save and load NAND/SD dirs from config * gl_shader_decompiler: Use used_shaders member variable directly within GenerateDeclarations() * ssl: Move SSL class to cpp file ------------------------------------------------------------------- Tue Sep 04 13:19:44 UTC 2018 - pousaduarte@gmail.com - Update to version 20180903: * externals: Update dynarmic to 0435ac2 * vfs_real: Forward declare IOFile * service: Migrate global named port map to the KernelCore class ------------------------------------------------------------------- Sun Sep 02 18:40:24 UTC 2018 - pousaduarte@gmail.com - Update to version 20180902: * filesystem: Move dir retrieval after path checking in DeleteFile() * citra_qt: Display the unsupported GL extensions in the popup * Build - Upload fewer artifacts * Removed saturate assert * Removed saturate assert * Changed tab5980_0 default from 0 -> 1 * Added FMUL asserts * Added FFMA asserts * Added assert for TEXS nodep * Added better asserts to IPA, Renamed IPA modes to match mesa * maxwell_3d: Use CoreTiming for query timestamp * filesystem: Implement OpenReadOnlySaveDataFilesystem * filesystem: Add OpenFileSystemWithPatch ------------------------------------------------------------------- Sat Sep 01 10:50:32 UTC 2018 - pousaduarte@gmail.com - Update to version 20180831: * core/core: Replace includes with forward declarations where applicable * travis: use Citras ccache * gl_rasterizer_cache: Use accurate framebuffer setting for accurate copies. * gl_rasterizer_cache: Also use reserve cache for RecreateSurface. * rasterizer_cache: Use boost::interval_map for a more accurate cache. * gl_renderer: Cache textures, framebuffers, and shaders based on CPU address. * gl_rasterizer: Fix issues with the rasterizer cache. * Implement BC6H_UF16 & BC6H_SF16 (#1092) * core: Make the main System class use the PImpl idiom * Report correct shader size. * Added predicate comparison GreaterEqualWithNan * gl_shader_decompiler: Implement POPC (#1203) * Shaders: Implemented IADD3 * Show game compatibility within yuzu * Remove Citra specific variable * travis: share env variables with Docker * gl_shader_decompiler: Improve IPA for Pass mode with Position attribute. * kernel: Eliminate kernel global state * gl_shader_cache: Remove unused program_code vector in GetShaderAddress() * gpu: Make memory_manager private * gl_rasterizer: Remove unused variables * hle/result: Make ResultVal's move constructor as noexcept * Fix two stupid errors made in #1141 ------------------------------------------------------------------- Tue Aug 28 13:22:20 UTC 2018 - pousaduarte@gmail.com - Update to version 20180827: * yuzu: Fix stick UI direction order * renderer_opengl: Implement a new shader cache. * gl_rasterizer_cache: Update to use RasterizerCache base class. * video_core: Add RasterizerCache class for common cache management code. * vfs_real: Remove unused variable in CreateDirectoryRelative() * registered_cache: Get rid of variable shadowing in ProcessFiles() * set: Fixed GetAvailableLanguageCodes() to follow the max_entries * kernel/error: Amend error code for ERR_MAX_CONNECTIONS_REACHED * kernel/error: Amend error code for ERR_PORT_NAME_TOO_LONG * kernel/error: Add error code for the handle table being full * kernel/error: Add error code for invalid memory permissions * kernel/error: Correct kernel error code for invalid combination * svc: Return process title ID if queried in GetInfo() * core: Namespace all code in the arm subdirectory under the Core namespace * debug_utils: Remove unused includes * debug_utils: Make BreakpointObserver class' constructor explicit * debug_utils: Initialize active_breakpoint member of DebugContext * core: Remove always true conditionals in Load() * file_util: Correct return value in early exit of ReadFileToString() * fix SEL_IMM bitstring * hid: Move core include to cpp file * hex_util: Replace logic_errors with LOG_CRITICAL * Addressed plu TTF changes * Added SharedFonts loading via TTF ------------------------------------------------------------------- Sat Aug 25 16:54:15 UTC 2018 - pousaduarte@gmail.com - Update to version 20180825: * file_sys/crypto: Fix missing/unnecessary includes * maxwell3d: Move FinishedPrimitiveBatch event after AcceleratedDrawBatch() * gl_rasterizer: Correct assertion condition in SyncLogicOpState() * filesystem: Fix typo in log message * xci: Ignore NCA files with updates in secure * content_archive: Add update title detection This is needed because the title IDs of update NCAs will not use the update title ID. The only sure way to tell is to look for a partition with BKTR crypto. * qt: Add filename and title id to window title while running * key_manager: Eliminate indexed for loop * key_manager: Create keys dir if it dosen't exist On call to WriteKeyToFile, so that the autogenerated file can be written. * file_sys: Cut down on includes and copies * crypto: Eliminate magic constants * key_manager: Add support for autogenerated keys Stored in a separate file than manual keys. * key_manager: Add support for KEK and SD seed derivation * key_manager: Switch to boost flat_map for keys Should make key gets marginally faster. * game_list: Add SD registration loading to game list * file_sys: Implement NAX containers * registration: Add GetEntryUnparsed methods * sdmc_factory: Add SDMC RegisteredCache getter * qt: Make default row data title name and title id Helps with installed games by making the title not a hexadecimal id string, instead the name. * vfs: Add GetOrCreateDirectoryRelative method * filesystem: Add CreateFactories methods to fs Allows frontend to create registration caches for use before a game has booted. * filesystem: Add logging to registration getters * loader: Add new NAX-specific errors and messages * nax: Add AppLoader_NAX and update loader to support it * xts_encryption_layer: Implement XTSEncryptionLayer * aes_util: Make XTSTranscode stricter about sizes XTS with Nintendo Tweak will fail mysteriously if the sector size is not 0x4000. Upgrade the critical log to an assert to prevent undefined behavior. * ctr_encryption_layer: Fix bug when transcoding small data Fixes a bug where data lengths of less than size 0x10 will fail or have misleading return values. * xci: Fix error masking issue Prevents NCA-related errors from being masked into MissingProgramNCA or MissingKeyFile ------------------------------------------------------------------- Fri Aug 24 13:32:50 UTC 2018 - pousaduarte@gmail.com - Update to version 20180823: * Port #4013 from Citra: "Init logging sooner so we dont miss some logs on startup" (#1142) * Added GetBootMode (#1107) * Shaders: Added decodings for IADD3 instructions ------------------------------------------------------------------- Thu Aug 23 20:37:20 UTC 2018 - pousaduarte@gmail.com - Update to version 20180823: * gl_rasterizer_cache: Blit when possible on RecreateSurface. * gl_rasterizer_cache: Reserve surfaces that have already been created for later use. * gl_rasterizer_cache: Remove assert for RecreateSurface type. * gl_rasterizer_cache: Implement compressed texture copies. * gl_rasterizer: Implement stencil test. * gl_rasterizer: Implement partial color clear and stencil clear. * maxwell_3d: Update to include additional stencil registers. * gl_state: Update to handle stencil front/back face separately. * Swap "Plus" with "Minus" on the controller GUI (#1150) * externals: Update fmt to 6201052 * externals/boost: Update to 1.68.0 * gl_shader_gen: Make ShaderSetup's constructor explicit * gl_shader_gen: Use a std::vector to represent program code instead of std::array * more fixes * fixes * renderer_opengl: Namespace OpenGL code * remove debug logging * implement lop3 * config: Fixed icon size get set to 0 * maxwell_to_gl: Implement PrimitiveTopology::Lines * Added missing include for pl:u * PL:U Added BFTTF loading(Loading from System NAND dumps) (#1088) * Revert "Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions." * shader_bytecode: Parenthesize conditional expression within GetTextureType() * vfs: Replace mode.h include with forward declarations where applicable * audio_core/filter: Add explicit cast to assignment in Process() * logging/text_formatter: Use empty braces for initializing CONSOLE_SCREEN_BUFFER_INFO instance * am: Utilize std::array within PopLaunchParameter() * perf_stats: Change MAX_LAG_TIME_US to an appropriate value * sdmc_factory: Remove unnecessary core include * Port #3902 from Citra: "Add restart hotkey & menu option" * Port #4056 from Citra: "Add Clear Recent Files menu action" * bit_field: Convert ToBool() into explicit operator bool * qt/main: Port part of citra(#3411), open savedata works * GPU: Implemented the logic op functionality of the GPU. * GLState: Allow enabling/disabling GL_COLOR_LOGIC_OP independently from blending. * GPU: Added registers for the logicop functionality. * Port #3353 from Citra ------------------------------------------------------------------- Tue Aug 21 07:41:54 UTC 2018 - pousaduarte@gmail.com - Update to version 20180821: * renderer_opengl: Use LOG_DEBUG for GL_DEBUG_SEVERITY_NOTIFICATION and GL_DEBUG_SEVERITY_LOW logs * service/filesystem: Use forward declarations where applicable * gl_stream_buffer: Add missing header guard * Shaders: Implement depth writing in fragment shaders. * shader_bytecode: Replace some UNIMPLEMENTED logs. * gl_shader_decompiler: Implement Texture3D for TEXS. * gl_shader_decompiler: Implement TextureCube for TEX. * Shaders: Fixed the coords in TEX with Texture2D. * Shaders: Log and crash when using an unimplemented texture type in a texture sampling instruction. * romfs_factory: Remove unnecessary includes and use forward declarations where applicable * Revert "Port #3616 from Citra: "appveyor: set jobs to 4 for mingw"" * telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId() * externals: Update dynarmic to a42f301c. * acc: Replace profile_manager include with a forward declaration * acc: Simplify WriteBuffer call within LoadImage() * acc: Correct IProfile's constructor initializer list order * acc: Remove unused DEFAULT_USER_ID * profile_manager: Use INVALID_UUID in the initializer of last_opened_user * profile_manager: Remove unnecessary memcpy in GetProfileBaseAndData() * profile_manager: Use type aliases for username data, profile data, and user arrays * profile_manager: Take ProfileInfo by const reference where applicable * profile_manager: Make array parameter to CreateNewUser a const reference * profile_manager: Remove unnecessary static * profile_manager: Simplify UUID's two param constructor, operator==, and operator bool * profile_manager: Move UUID generation function to the cpp file * rasterizer_interface: Remove ScreenInfo from AccelerateDraw()'s signature * renderer_base: Make creation of the rasterizer, the responsibility of the renderers themselves * Shaders: Write all the enabled color outputs when a fragment shader exits. * registration: Add Data_Unknown5 NCAContentType * profile_manager: Remove unnecessary std::move in AddToProfiles() and CreateNewUser() * Rasterizer: Reinterpret the raw texture bytes instead of blitting (and thus doing format conversion) to a new texture when a game requests an old texture address with a different format. * Rasterizer: Don't attempt to copy over the old texture's data when doing a format reinterpretation if we're only going to clear the framebuffer. * Implemented RGBA8_UINT * game_list: Avoid uninitialized variables when retrieving program ID * Added CheckFreeCommunicationPermission * Shaders/TEXS: Fixed the component mask in the TEXS instruction. * Shader: Implemented the TLD4 and TLD4S opcodes using GLSL's textureGather. * Shader: Use the right sampler type in the TEX, TEXS and TLDS instructions. * Shader: Added bitfields for the texture type of the various sampling instructions. * Shaders: Added decodings for TLD4 and TLD4S * filesystem: Add support for loading of system archives * GLRasterizer: Implemented instanced vertex arrays. * common/telemetry: Migrate core-independent info gathering to common * Better UUID randomness * Removed un-needed count from ListOpenUsers and ListAllUsers * Added better explanations in the profile manager * Code cleanup for profile manager * Removed const from ProfileBase Invalidate * fixed invalid uuid bool operator * Added GetOpenUserCount * Removed all for loops from the profile manager * Added missing ListAllUsers count * If statement style change * Second round of account changes * First round of account changes * Rebase with dynarmic master * Refactored profile manager sharing * Added IsUserRegistrationRequestPermitted * Don't add user if the uuid already exists * Open first user added * Inital pass of account backend implementation * GetProfileBase and GetProfileBaseAndData added * began initial implementation of "ProfileManager" * Switched uuids from u128 to new UUID struct ------------------------------------------------------------------- Mon Aug 20 12:58:53 UTC 2018 - pousaduarte@gmail.com - Update to version 20180819: * Shaders/TEXS: Fixed the component mask in the TEXS instruction. * Shaders: Added decodings for the LDG and STG instructions. * Shaders: Implemented the gl_FrontFacing input attribute (attr 63). * Added check to see if ARB_texture_mirror_clamp_to_edge is supported * Shader: Remove an unneeded assert, the negate bit is implemented for conversion instructions. * Shader: Implemented the predicate and mode arguments of LOP. * Added WrapMode MirrorOnceClampToEdge * Shaders: Implemented a stack for the SSY/SYNC instructions. * Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions. * Added predcondition GreaterThanWithNan * Port #3616 from Citra ------------------------------------------------------------------- Sat Aug 18 13:07:26 UTC 2018 - pousaduarte@gmail.com - Update to version 20180817: * gl_rasterizer_cache: Remove asserts for supported blits. ------------------------------------------------------------------- Fri Aug 17 20:31:54 UTC 2018 - pousaduarte@gmail.com - Update to version 20180817: * Implement SetIdleTimeDetectionExtension & GetIdleTimeDetectionExtension (#1059) * renderer_opengl: Treat OpenGL errors as critical. * correct coding style * Implement GetDefaultDisplayResolutionChangeEvent Require by Toki Tori and Toki Tori 2+ * qt/main: Unindent code in OnMenuInstallToNAND() * qt/main: Make installation dialog text within OnMenuInstallToNAND() translatable * qt/main: Get rid of compilation warnings * core: Delete System copy/move constructors and assignment operators * dynarmic: Update to 550d662 * common: Namespace hex_util.h/.cpp * gl_rasterizer_cache: Treat Depth formats differently from DepthStencil. * Rasterizer: Implemented instanced rendering. ------------------------------------------------------------------- Thu Aug 16 13:21:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20180816: * Shader/Conversion: Implemented the negate bit in F2F and I2I instructions. * Shader/I2F: Implemented the negate I2F_C instruction variant. * Shader/F2I: Implemented the negate bit in the I2F instruction * Shader/F2I: Implemented the F2I_C instruction variant. * Shader/F2I: Implemented the negate bit in the F2I instruction. * kernel/server_session: Add IsSession() member function * sm/controller: Correct return value of QueryPointerBufferSize * loader: Make ResultStatus directly compatible with fmt * loader/nca: Remove unnecessary includes and member variables * loader/xci: Remove unnecessary includes and member variables * lm: Use LOG_DEBUG for printing out trace logs * lm: Handle threads and modules within the logger * gl_rasterizer_cache: Cleanup some PixelFormat names and logging. * gl_rasterizer_cache: Add RGBA16U to PixelFormatFromTextureFormat. * Implement Z16_UNORM in PixelFormatFromTextureFormat function * loader: Remove address mapping remnants from citra * kernel/svc: Log svcBreak parameters * gl_shader_decompiler: Several fixes for indirect constant buffer loads. * gl_rasterizer: Fix upload size for constant buffers. * maxwell_to_gl: Properly handle UnsignedInt/SignedInt sizes. * gl_rasterizer_cache: Implement G8R8S format. * emu_window: Ensure WindowConfig members are always initialized * CMakeLists: Add architecture detection for AArch64 * common/xbyak_abi: Mark defined functions in header as inline * common/xbyak: Use nested namespace specifiers where applicable * common: Remove unused old breakpoint source files * logging/backend: Use const reference to refer to log filter * Fix BC7U * mm_u: Forward all old variants of functions to the new ones * mm_u: Move implementation class into the cpp file * audout_u: Correct IAudioOut initializer list order * renderer_opengl: Implement RenderTargetFormat::RGBA16_UNORM. * common/misc: use windows.h * Core::CoreTiming: add UnscheduleEventThreadsafe * Registered missing channel devices * Added missing channel devices * registration: Various style and documentation improvements Fix logic in RealVfsFilesystem Create methods Remove magic numbers Fix regex errors * registration: Add support for force overwrite of installed * game_list: Split game list scans to multiple functions Avoids unnecessary rebuilds of control data on every layer of recursion in AddFstEntriesToGameList * vfs_real: Add CreateFullPath to Create* operations * control_metadata: Remove unnecessary reference to base file * romfs: Remove cyclic shared_ptr leak in romfs code * registration: Update documentation and style * nca_metadata: Remove unnecessary reference to base file * bis_factory: Create NAND dirs if they don't exist * qt: Use custom RawCopy with progress bar for installs * registration: Take RawCopy function as parameter Instead of defaulting to VfsRawCopy * game_list: Populate control data from installed NAND * registered_cache: Fix missing reading from yuzu_meta * file_sys: Comply to style guidelines * qt: Add 'Install to NAND' option to menu * game_list: Modify game list to scan installed titles * file_sys: Add RegisteredCache Manages NAND NCA get and install. * file_sys: Add support for parsing NCA metadata (CNMT) * card_image: Add accessor for all NCAs in XCI * vfs_real: Add CreateFullPath to CreateFile Fixes bugs with calling CreateFile when the immediate directory does not exist. * filesystem: Add Open and Register functions for BISFactory * bis_factory: Add partial implementation of BISFactory Creates and stores RegisteredCaches for user and system NAND, as creation of a RegisteredCache is expensive. * loader: Join 0* files in directory if filename is 00 i.e. Load the concatenated 00+01 if 01 exists as well. Needed for split NAND NCAs. * loader: Recognize filename '00' as NCA Needed to avoid mismatch filetype warnings on split NAND NCAs * vfs: Add ConcatenatedVfsFile * crypto: Remove hex utilities from key_manager Move to hex_util.h in common * file_util: Add getter for NAND registration directory * common: Move hex string processing to separate file ------------------------------------------------------------------- Mon Aug 13 19:03:19 UTC 2018 - pousaduarte@gmail.com - Update to version 20180813: * arm_dynarmic: Remove IsExecuting check from PrepareReschedule * Implement RG32UI and R32UI * audio_renderer: samples_remaining counts frames, not samples * audio_core: Interpolate * audio_core: Implement low-pass filter * maxwell_to_gl: Implement VertexAttribute::Size::Size_8. * kernel/object: Tighten object against data races * renderer_opengl: Implement RenderTargetFormat::RGBA16_UINT. * maxwell_to_gl: Implement PrimitiveTopology::LineStrip. * renderer_opengl: Implement RenderTargetFormat::RG8_UNORM. * CPU/Timing: Use an approximated amortized amount of ticks when advancing timing. * Kernel/SVC: Don't reschedule the current core when creating a new thread. * Core/HLE: Make the 'reschedule_pending' flag atomic. * CPU/HLE: Lock the HLE mutex before performing a reschedule. * Kernel/Threads: Lock the HLE mutex when executing the wakeup callback. * Kernel/Thread: Always use the threadsafe option when scheduling wakeups. * gl_shader_decompiler: Implement XMAD instruction. * Kernel/Mutex: Don't duplicate threads in the mutex waiter list. * vfs: Make VfsFilesystem constructor explicit * vfs: Make type hierarchy objects classes instead of structs * scheduler: Make HaveReadyThreads() a const member function * thread_queue_list: Make contains() and get_first() const member functions * thread_queue_list: Convert typedef to a type alias * vfs: Use sanitized paths within MoveFile() and MoveDirectory() * card_image: Use type aliases to shorten definitions * card_image: Simplify return statement of GetSubdirectories() ------------------------------------------------------------------- Sun Aug 12 21:44:05 UTC 2018 - pousaduarte@gmail.com - Update to version 20180812: * cubeb_sink: Protect queue with a mutex * gl_rasterizer: Use a shared helper to upload from CPU memory. * gl_state: Don't track constant buffer mappings. * gl_rasterizer: Use the stream buffer for constant buffers. * gl_rasterizer: Use the streaming buffer itself for the constant buffer. * gl_rasterizer: Use a helper for aligning the buffer. * Update the stream_buffer helper from Citra. * GetAudioDeviceServiceWithRevisionInfo * hid: disable clang-format around tables * hid: Stub DisconnectNpad() * externals: Update to SDL2-2.0.8. * Pushed the requested sample rate instead of our fixed sample rate * made ResultStatus a u16 * Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount * Fixed invalid cast in loader ------------------------------------------------------------------- Sun Aug 12 11:38:41 UTC 2018 - pousaduarte@gmail.com - Update to version 20180812: * gl_shader_decompiler: Fix SetOutputAttributeToRegister empty check. * gl_shader_decompiler: Fix GLSL compiler error with KIL instruction. * Stub UpdateUserPresence * GPU/Maxwell3D: Implemented an alternative set of blend factors. * Implement R8_UINT RenderTargetFormat & PixelFormat (#1014) * RasterizerGL: Ignore invalid/unset vertex attributes. * friend: Stub DeclareCloseOnlinePlaySession. * friend: Fix CreateFriendService to return an IFriendService interface. * server_session: Provide more useful information and don't crash on bad IPC request. * gl_rasterizer: Silence implicit truncation warning in SetupShaders() * core: Namespace EmuWindow * CMakeLists: lowercase find_library usage * CMakeLists: Change MSVC14 variable to MSVC_VERSION * gl_shader_decompiler: Improve handling of unknown input/output attributes. * gl_rasterizer: Implement render target format RG8_SNORM. * gl_rasterizer: Implement render target format RGBA8_SNORM. * GPU/Shader: Don't predicate instructions that don't have a predicate field (SSY). * GPU/Shaders: Implemented SSY and SYNC as a way to modify control flow during shader execution. * Implement R16S & R16UI & R16I RenderTargetFormats & PixelFormats and more (R16_UNORM needed by Fate Extella) (#848) * video_core; Get rid of global g_toggle_framelimit_enabled variable * renderer_base: Remove unused kFramebuffer enumeration * video_core: Remove unused Renderer enumeration * game_list: Reorder error checks clang-format fix * loader: Add more descriptive errors * video_core: Use variable template variants of type_traits interfaces where applicable ------------------------------------------------------------------- Sat Aug 11 13:28:10 UTC 2018 - pousaduarte@gmail.com - Update to version 20180810: * qt/game_list: Resolve truncation warning within GameListItemPath's constructor * gt/game_list: Use std::array in GameListItemPath's data() function * qt/game_list: Remove redundant base class constructor from initializer list * maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8. * maxwell_to_gl: Implement VertexAttribute::Size::Size_32_32_32. * dynarmic: Update to 0118ee0 ------------------------------------------------------------------- Fri Aug 10 16:44:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20180810: * Revert "gl_state: Temporarily disable culling and depth test." * gl_rasterizer_cache: Remove unused viewport parameter of GetFramebufferSurfaces() * textures: Refactor out for Texture/Depth FormatFromPixelFormat. * gl_rasterizer_cache: Add bounds checking for gl_buffer copies. * Implement SNORM for BC5/DXN2 (#998) * gl_shader_decompiler: Reserve element memory beforehand in BuildRegisterList() * gl_rasterizer_cache: Avoid iterator invalidation issues within InvalidateRegion() * Implement BC5/DXN2 (#996) * buffer_queue: Make reference parameter of SetPreallocatedBuffer const * hle_ipc: Make WriteToOutgoingCommandBuffer()'s reference parameter const * gl_rasterizer_cache: Invert conditional in LoadGLBuffer() * gl_rasterizer_cache: Use std::vector::assign in LoadGLBuffer() for the non-tiled case * maxwell_to_gl: Implement VertexAttribute::Size::Size_16_16_16_16. * maxwell_to_gl: Implement PrimitiveTopology::Points. * gl_shader_decompiler: Declare predicates on use. * maxwell_3d: Ignore macros that have not been uploaded yet. * gl_rasterizer_cache: Make pointer const in LoadGLBuffer() * vfs: Fix documentation * vfs: Fix typo in VfsFilesystem docs * file_util: Use enum instead of bool for specifing path behavior * loader: Remove unused IdentifyFile overload * vfs: Use RealVfsFilesystem for fs-operations in RealVfsDirectory * file_sys: Add missing include in savedata_factory * core: Port core to VfsFilesystem for file access * vfs: Add unreachable assert to file permissions converter * vfs: Add RealVfsFilesystem implementation * file_util: Add platform-specific slash option to SanitizePath * vfs: Add VfsFilesystem interface and default implementation * filesystem: Remove unnecessary if conditions * gl_rasterizer: Do not render when no render target is configured. * fsp_srv: Use std::string_view's copy() function instead of strncpy() * fsp_srv: Emplace entries first when building index instead of emplacing last * common/logging: Add missing service log categories ------------------------------------------------------------------- Thu Aug 09 16:58:41 UTC 2018 - pousaduarte@gmail.com - Update to version 20180809: * common/color: Remove unnecessary const qualifiers on return types * common/color: Get rid of undefined behavior * vector_math: Use variable template version of is_signed in Vec classes * Service/Account: stub LoadImage function * gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel. * gl_shader_decompiler: Stub input attribute Unknown_63. * maxwell_3d: Use correct const buffer size and check bounds. * renderer_opengl: Use trace log in a few places. * maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8. * nvhost_gpu: Don't over copy IoctlSubmitGpfifo. * gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM. * gl_shader_decompiler: Let OpenGL interpret floats. * am: Stub SetScreenShotImageOrientation. * common: Convert type traits templates over to variable template versions where applicable * configure_gamelist: Use explicit QVariant constructor * loader: Add icon and title support to XCI * Fix missing qjpeg DLL * Use const where applicable * Avoid parsing RomFS to directory in NCA ------------------------------------------------------------------- Wed Aug 08 16:21:36 UTC 2018 - pousaduarte@gmail.com - Update to version 20180808: * nvdrv: Get rid of global std::weak_ptr * vector_math: Remove unimplemented function prototypes * vector_math: Make functions constexpr where applicable * vector_math: Convert typedefs to type aliases * externals/CMakeLists: Add EXCLUDE_FROM_ALL to lz4's add_subdirectory() command ------------------------------------------------------------------- Wed Aug 08 11:24:43 UTC 2018 - pousaduarte@gmail.com - Update to version 20180808: * hid: fix IsSixAxisSensorAtRest() response * acc: Add missing function table entries for GetUserCount * acc: Stub GetUserCount. (#973) * hle: Remove unused romfs.cpp/.h * externals: Update catch to 2.3.0 * externals/mbedtls: Update to mbedtls v2.12.0 * Fixed the sRGB pixel format (#963) * file_util: Avoid sign-conversions in WriteArray() and ReadArray() * Lowered down the logging for methods * loader: Fix scope error in DeconstructedRomDirectory * service/apm: Add the apm:sys service * nvflinger: Correct typo in name of composition event * nvdrv: Make Ioctl()'s definition match its prototype * nvdrv: Get rid of indirect inclusions * nvflinger: Get rid of indirect inclusions * nvflinger: Use std::string_view in OpenDisplay() * Make building cubeb optional * services/hid: Add ActivateNpadWithRevision() to the hid function info array * service/time: Amend command IDs of ToPosixTime() and ToPosixTimeWithMyRule() * service: Add usb services * qt/hotkey: Get rid of global hotkey map instance * externals: Update glad to 0.1.26 * client_port: Make all data members private * Make mbedtls and cubeb not install headers and libraries * content_archive: Add support for titlekey cryptography ------------------------------------------------------------------- Tue Aug 07 11:05:56 UTC 2018 - pousaduarte@gmail.com - Update to version 20180806: * GDBStub works with both Unicorn and Dynarmic now (#941) * qt/main: Avoid sign conversions in UpdateRecentFiles() * game_list: Remove unnecessary conversion to std::string in ValidateEntry() * game_list: Use QString::fromStdString() where applicable instead of c_str() * game_list: Join declarations and assignments in onTextChanged() * qt/main: Collapse if statement in UpdateRecentFiles() * qt/main: Better file-existence checking within OnMenuRecentFile() and UpdateUITheme() * qt: Don't show error dialog when canceling the Load Folder dialog * qt/game_list_p: Remove redundant base class constructor invocations * qt: Add missing override specifiers where applicable * qt: Default destructors where applicable * kernel/event: Make data members private * maxwell_3d: Remove outdated assert. * gl_rasterizer_cache: Avoid superfluous surface copies. * perf_stats: Correct literal used for MAX_LAG_TIME_US * core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds * memory: Make prototype parameter names match their definitions * memory: Correct prototype of ZeroBlock * memory: Remove unnecessary const qualifiers in prototypes * loader: Make AppLoader_NCA rely on directory loading code ------------------------------------------------------------------- Mon Aug 06 16:24:58 UTC 2018 - pousaduarte@gmail.com - Update to version 20180806: * Service/Audio: audout_a.cpp: remove pragma once * core_timing: Convert typedef into a type alias * core_timing: Use transparent functors where applicable * gdbstub: Use type alias for breakpoint maps * gdbstub: Move all file-static variables into the GDBStub namespace * address_arbiter: Return by value from GetThreadsWaitingOnAddress() * gdbstub: Replace PAddr alias with VAddr * audio_core: Implement audren_u audio playback. * audio_core: Use s16 where possible for audio samples. * audio_core: Port codec code from Citra for ADPCM decoding. * cubeb_sink: Support variable sample_rate and num_channels. * audio_core: Sinks need unique names as well. * audio_core: Streams need unique names for CoreTiming. ------------------------------------------------------------------- Sun Aug 05 22:01:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20180805: * externals: Update dynarmic to 4f96c63 * gl_shader_decompiler: Fix TEXS mask and dest. * added braces for conditions * fix the attrib format for ints * service: Add arp services * service: Remove redundant #pragma once directives * aes_util: Add static assertion to Transcode() and XTSTranscode() to ensure well-defined behavior * aes_util: Make CalculateNintendoTweak() an internally linked function * aes_util: Make Transcode() a const member function * core/crypto: Remove unnecessary includes * key_manager: Use regular std::string instead of std::string_view * renderer_base: Make Rasterizer() return the rasterizer by reference * video_core: Eliminate the g_renderer global variable ------------------------------------------------------------------- Sat Aug 04 20:45:05 UTC 2018 - pousaduarte@gmail.com - Update to version 20180804: * gl_shader_manager: Invert conditional in SetShaderUniformBlockBinding() * gl_shader_manager: Amend sign differences in an assertion comparison in SetShaderUniformBlockBinding() * kernel/thread: Fix potential crashes introduced in 26de4bb521b1ace7af76eff4f6956cb23ac0d58c * kernel/process: Use std::array where applicable * kernel/process: Use accessors instead of class members for referencing segment array * memory: Remove unused GetSpecialHandlers() function * video_core: Remove unimplemented Start() function prototype * gl_shader_decompiler: Remove unused variable in GenerateDeclarations() * gl_shader_manager: Make ProgramManager's GetCurrentProgramStage() a const member function * core/memory: Get rid of 3DS leftovers * Added ability to change username & language code in the settings ui. Added IProfile::Get and SET::GetLanguageCode for libnx tests (#851) * yuzu: Use Qt 5 signal/slots where applicable * input_common: Use std::move where applicable * input_common: Add missing override specifiers * Implement RGB32F PixelFormat (#886) (used by Go Vacation) * kernel/vm_manager: Convert loop into std::any_of() * kernel/vm_manager: Use const where applicable * kernel/vm_manager: Use the VAddr type alias in CarveVMA() * kernel/thread: Make GetFreeThreadLocalSlot()'s loop indices size_t * kernel/thread: Make GetFreeThreadLocalSlot() reference parameter a const reference * kernel/thread: Make GetFreeThreadLocalSlot() internally linked * vfs_vector: Remove unused variable in FindAndRemoveVectorElement() * vfs_vector: Avoid unnecessary copies where applicable * gl_state: Make texture_units a std::array * gl_shader_manager: Take ShaderSetup instances by const reference in UseProgrammableVertexShader() and UseProgrammableFragmentShader() * math_util: Always initialize members of Rectangle * hw: Remove unused files * service: Add migration services * audio_out: Use Buffer::Tag alias in GetTagsAndReleaseBuffers()'s prototype * sink_details: Deduplicate long std::function repetition * sink_details: std::move std::function instances * kernel: Move object class to its own source files * logging/log: Remove incorrect description in PCV doc comment * service: Add psc services * video_core: Make global EmuWindow instance part of the base renderer class * service/ns: Add missing ns services * lm: Amend name of ILogger * service/filesystem: Add fsp:ldr and fsp:pr services * service: Add capture services * service: Add bpc and pcv services * Implement R32_FLOAT RenderTargetFormat * Add missing parameter to files.push_back() * Fix merge conflicts with opus and update docs * Use more descriptive error codes and messages * Use static const instead of const static * Use ErrorEncrypted where applicable and fix no keys crash * Add missing includes and use const where applicable * Allow key loading from %YUZU_DIR%/keys in addition to ~/.switch * Use SHGetKnownFolderPath instead of SHGetFolderPathA * Make XCI comply to review and style guidelines * Extract mbedtls to cpp file * Add missing string.h include * Update mbedtls and fix compile error * Remove files that are not used ------------------------------------------------------------------- Wed Aug 01 12:16:46 UTC 2018 - pousaduarte@gmail.com - Update to version 20180731: * kernel/thread: Remove unimplemented function prototype * audio_core: Add configuration settings. * service/audio: Add missing services * kernel: Remove unused object_address_table.cpp/.h * audout_u: Remove std::move in OpenAudioOutImpl() * kernel: Remove unnecessary includes * service/am: Add missing am services * service: Add fgm services * arm_dynarmic: Make SetTlsAddress() prototype and definition consistent * arm_dynarmic: Remove unnecessary qualifying of ThreadContext * arm_dynarmic: Correct initializer list order * service: Add the pcie service * MacroInterpreter: Avoid left shifting negative values. * nvhost_gpu: Added checks to ensure we don't read past the end of the entries when handling a GPU command list. * nvhost_ctrl_gpu: Only read the input parameters if they are actually there. * remove polymorphism issue ------------------------------------------------------------------- Tue Jul 31 11:36:49 UTC 2018 - pousaduarte@gmail.com - Update to version 20180730: * audio_core: Implement Sink and SinkStream interfaces with cubeb. * audio_core: Add interfaces for Sink and SinkStream. * Port #3758 from Citra (#852): Add missing std::string import in text_formatter * audio_core: Misc. improvements to stream/buffer/audio_out. * audio_core: Move to audout_u impl. * externals: Add cubeb for audio output. * Implemented various hwopus functions (#853) * externals: Update dynarmic to 73d3efc * common/string_utils: replace boost::transform with std counterpart * Port #3972 from Citra: "common/timer: use std::chrono, avoid platform-dependent code" ------------------------------------------------------------------- Mon Jul 30 19:20:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20180730: * Port #3769 from Citra: "Update Dark theme to latest version" * Add some HID commands (#843) * Port #3732 from Citra: "common: Fix compilation on ARM" * Port #3913 from Citra: "citra_qt: Remove obsolete application attribute" * Port #3911 from Citra: "Optimize settings application" * Port #3837 from Citra: "Add build date in about dialog" * partition_filesystem: Remove dynamic_cast in PrintDebugInfo() * service: Add wlan services * service/btm: Add basic implementation of GetCoreImpl() * service: Add btm services ------------------------------------------------------------------- Sun Jul 29 11:43:11 UTC 2018 - pousaduarte@gmail.com - Update to version 20180728: * audout: Implement IAudioOut interface with AudioCore. * core: Add AudioCore to global state. * audio_core: Add initial code for keeping track of audout state. * RomFS Extraction * service: Add ncm services * service: Add mii services * service/nfc: Implement Create[x]Interface functions * service: Add nfc services * service/lbl: Implement EnableVrMode, DisableVrMode and GetVrMode * service: Add the lbl service * service: Add the btdrv service * service/hid: Add the hidbus, hid:dbg, hid:sys, and hid:tmp services * service/hid: Add the xcd:sys service * service/hid: Add irs services * Port #3594 from Citra * kernel/timer: Make data members private where applicable ------------------------------------------------------------------- Fri Jul 27 07:57:36 UTC 2018 - pousaduarte@gmail.com - Update to version 20180726: * service: Add the grc:c service * GPU: Allow using R16F as a render target format. * Port #3665 from Citra * Port #3702 from Citra * Port #3641 from Citra * service: Add the nim services * service: Add ldn services * service/sockets: Add ethc:c and ethc:i services * service/sockets: Add missing bsdcfg socket service * service: Add ldr services * lm: Move LM's class declaration into the cpp file * lm: Amend names of Initialize() in Logger and Initialize() in LM * lm: Add missing function entry to Logger's function table * service: Add eupld services * service: Add the erpt services * Implement R16_G16 * service/nvdrv: Take std::string in Open() by const reference * service/nvdrv: Use std::move where applicable * service/nifm: Deduplicate interface code * service: Add pm services * wait_tree: Add missing switch case for WaitTreeThread::GetText() * service: Add the es service * time: Add the time:a service * GPU: Use the right texture format for sRGBA framebuffers. * GPU: Allow the use of Z24S8 as a texture format. * externals: Update dynarmic to 98e2380 * GPU: Implemented the Z32_S8_X24 depth buffer format. * GPU: Allow using Z32 as a texture format. * GPU: Allow the usage of R8 as a render target format. * video_core/memory_manager: Replace a loop with std::array's fill() function in PageSlot() * video_core/memory_manager: Avoid repeated unnecessary page slot lookups * svc: Log parameters in SetMemoryAttribute() * time: Simplify interface creation * core_timing: Split off utility functions into core_timing_util * CMakeLists: Sort filenames * wait_tree: Silence warning about all code paths not returning a value * set_sys: Implement SetColorSetId() * ipc_helper: Add helper member function for popping enum values to RequestParser ------------------------------------------------------------------- Wed Jul 25 12:22:17 UTC 2018 - pousaduarte@gmail.com - Update to version 20180724: * GPU: Remove the assert that required the CODE_ADDRESS to be 0. * GPU: Implemented the R16 and R16F texture formats. * gl_rasterizer: Replace magic number with GL_INVALID_INDEX in SetupConstBuffers() * gl_rasterizer: Use std::string_view instead of std::string when checking for extensions * gl_rasterizer: Use in-class member initializers where applicable * deconstructed_rom_directory: Remove unused FindRomFS() function * friend: Add friend:m, friend:s, and friend:v services * friend/interface: Add missing CreateDaemonSuspendSessionService() to the function handler table * friend: Deduplicate interfaces * svc: Resolve sign comparison warnings in WaitSynchronization() ------------------------------------------------------------------- Tue Jul 24 12:29:29 UTC 2018 - pousaduarte@gmail.com - Update to version 20180724: * gl_rasterizer: Implement texture border color. * maxwell_to_gl: Implement Texture::WrapMode::Border. * GPU: Implement texture format R32F. * arm_dynarmic: Make MakeJit() a const member function * core: Make converting constructors explicit where applicable * maxwell_to_gl: Implement VertexAttribute::Type::UnsignedInt. * apm/interface: Remove redundant declaration of InstallInterfaces() * mutex: Pass SharedPtr to GetHighestPriorityMutexWaitingThread() by reference * VFS Regression and Accuracy Fixes (#776) * hle_ipc: Make constructors explicit where applicable * gl_shader_decompiler: Correct return value of WriteTexsInstruction() * ipc_helpers: Make member variables of ResponseBuilder private * gl_shader_decompiler: Implement shader instruction TLDS. * gl_rasterizer_cache: Implement RenderTargetFormat RG32_FLOAT. * gl_rasterizer_cache: Implement RenderTargetFormat RGBA32_FLOAT. * gl_rasterizer_cache: Implement RenderTargetFormat BGRA8_UNORM. * gl_rasterizer_cache: Add missing log statements. * gl_shader_decompiler: Print instruction value in shader comments. * gl_shader_decompiler: Check if SetRegister result is ZeroIndex. * exclusive_monitor: Use consistent type alias for u64 * partition_filesystem: Use std::move where applicable * loader: Remove unnecessary constructor call in IdentifyFile() * linker: Remove unused parameter from WriteRelocations() * nro: Replace inclusion with a forward declaration * nro: Make bracing consistent * nro: Make constructor explicit * nro: Remove unused forward declaration * gl_shader_decompiler: Simplify GetCommonDeclarations() * vi: Add std::is_trivially_copyable checks to Read and Write functions * vi: std::move std::vector in constructors where applicable * hle: Remove config_mem.h/.cpp * hle: Remove shared_page.h/.cpp * set: Add missing log call in GetAvailableLanguageCodeCount() * NRO Assets and NACP file format * set: Implement GetAvailableLanguageCodeCount() * set: Correct return code size of value in GetAvailableLanguageCodes() * string_util: Get rid of separate resize() in CPToUTF16(), UTF16ToUTF8(), CodeToUTF8() and UTF8ToUTF16() * string_util: Use emplace_back() in SplitString() instead of push_back() * string_util: Remove unnecessary std::string instance in TabsToSpaces() ------------------------------------------------------------------- Mon Jul 23 07:51:35 UTC 2018 - pousaduarte@gmail.com - Update to version 20180722: * shader_bytecode: Implement other TEXS masks. ------------------------------------------------------------------- Sun Jul 22 19:55:00 UTC 2018 - pousaduarte@gmail.com - Update to version 20180722: * Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel. * Frontend: Check for more required OpenGL extensions during startup. * externals: Update dynarmic to fc6b73bd * Implement exclusive monitor * gl_shader_decompiler: Remove redundant Subroutine construction in AddSubroutine() * vfs: Correct file_p variable usage within InterpretAsDirectory() * file_util, vfs: Use std::string_view where applicable * gl_shader_decompiler: Remove unused state tracking and minor cleanup. * gl_shader_decompiler: Implement SEL instruction. * file_util: Remove goto usages from Copy() * file_util: Use a u64 to represent number of entries * file_util: std::move FST entries in ScanDirectoryTree() * gl_rasterizer_cache: Blit surfaces on recreation instead of flush and load. * gl_rasterizer_cache: Use GPUVAddr as cache key, not parameter set. * gl_rasterizer_cache: Use zeta_width and zeta_height registers for depth buffer. * gl_rasterizer: Use zeta_enable register to enable depth buffer. * maxwell_3d: Add depth buffer enable, width, and height registers. * GPU: Implement the NVGPU_IOCTL_CHANNEL_KICKOFF_PB ioctl2 command. * file_util: Use an enum class for GetUserPath() * file_util: Remove explicit type from std::min() in GetPathWithoutTop() * file_util: Remove redundant duplicate return in GetPathWithoutTop() * common: Remove synchronized_wrapper.h * externals: Update dynarmic to 7ea1241 * file_sys/errors: Remove redundant object constructor calls * vfs_real: Remove redundant copying of std::vector instances in GetFiles() and GetSubdirectories() * partition_filesystem, vfs_real: Add missing standard includes * partition_filesystem, vfs_real: Use std::move in ReplaceFileWithSubdirectory() where applicable * partition_filesystem, vfs_real: Use std::distance() instead of subtraction * vfs_offset: Simplify TrimToFit() * vfs: Make WriteBytes() overload taking a std::vector pass the std::vector by const reference * vfs: Use variable template variants of std::is_trivially_copyable * vfs: Amend constness on pointers in WriteBytes() and WriteArrays() member functions to be const qualified * Loader: Only print the module names and addresses if they actually exist. * CPU: Save and restore the TPIDR_EL0 system register on every context switch. * arm_interface: Remove unused tls_address member of ThreadContext * gl_shader_manager: Replace unimplemented function prototype * gpu: Rename Get3DEngine() to Maxwell3D() * video_core: Use nested namespaces where applicable * arm_test_common: Get rid of truncation warnings * arm_test_common: Make file static variable a member variable of the testing environment * arm_test_common: Add missing header guard * param_package: Take std::string by value in string-based Set() function * param_package: Use std::unordered_map's insert_or_assign instead of map indexing * param_package: Get rid of file-static std::string construction * logging/filter: Use std::string_view in ParseFilterString() * logging/backend: Add missing standard includes * logging/backend: Use std::string_view in RemoveBackend() and GetBackend() * apm: Improve stub for GetPerformanceConfiguration. * ipc_helpers: Add PushEnum() member function to ResponseBuilder * HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error. * externals: Update glad to version 0.1.25 * gl_state: Make references const where applicable in Apply() * gl_state: Get rid of mismatched sign conversions * loader/{nca, nro}: std::move VirtualFile in the constructors where applicable * vfs_offset: std::move file and name parameters of OffsetVfsFile * audren_u: Use a std::array instead of std::string for holding the audio interface/device name * audout_u: Use a std::array instead of std::string for holding the audio interface name * maxwell_3d: Remove unused variable within GetStageTextures() * thread: Convert ThreadStatus into an enum class * partition_filesystem: Return pfs_dirs member variable within GetSubdirectories() * nso: Silence implicit sign conversion warnings * nso: Remove unused function ReadSegment() * gl_shader_decompiler: Eliminate variable and declaration shadowing ------------------------------------------------------------------- Fri Jul 20 12:14:32 UTC 2018 - pousaduarte@gmail.com - Update to version 20180719: * gl_shader_decompiler: Remove unnecessary const from return values * pl_u: Simplify WriteBuffer() calls in GetSharedFontInOrderOfPriority() * HLE/ACC: Return an IProfile that is consistent with what was requested. * HLE/ACC: Change the default user id to be consistent with what we tell games on startup. * HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers. * hle_ipc: Introduce generic WriteBuffer overload for multiple container types * pl_u: Specify correct size for buffers in GetSharedFontInOrderOfPriority() * svc: Correct always true assertion case in SetThreadCoreMask * pl_u: Remove printf specifier in log call in a log call in GetSharedFontInOrderOfPriority() * gdbstub: Get rid of a few signed/unsigned comparisons * hid: Use a ranged-for loops in UpdatePadCallback * hid: Use HID_NUM_LAYOUTS constant for indicating size of the layouts array * Filesystem: Return EntryType::Directory for the root directory. * loader: Amend Doxygen comments * loader/nso: Check if read succeeded in IdentifyFile() before checking magic value * hle/service: Make constructors explicit where applicable * nvflinger: Emplace Display instances directly * nvdrv: Take std::string by const reference in GetDevice() * hle_ipc: Amend usage of buffer_index within one of HLERequestContext's WriteBuffer() overloads * fsp_srv: Remove unnecessary vector construction in IFile's Write() function * fsp_srv: Remove unnecessary std::vector construction in IDirectory's Read() function * filesystem: std::move VirtualDir instance in VfsDirectoryServiceWrapper's constructor * filesystem: Use std::string's empty() function instead of comparing against a literal * filesystem: Remove pragma disabling global optimizations * fsp_srv: Make IStorage constructor explicit * fsp_srv: Add missing includes * fsp_srv: Resolve sign-mismatch warnings in assertion comparisons * fsp_srv: Respect write length in Write() * common/swap: Remove unnecessary const on return value of swap() * common/swap: Use static_cast where applicable * common/swap: Use using aliases where applicable * common/common_funcs: Remove unused rotation functions * common/misc: Deduplicate code in GetLastErrorMsg() * externals: Update Xbyak to 5.65 * externals: Update catch to v2.2.3 * file_util: return string by const reference for GetExeDirectory() * string_util: Remove AsciiToHex() * savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function * partition_filesystem: Ensure all class members of PartitionFilesystem are initialized * gl_state: Temporarily disable culling and depth test. * content_archive: Make IsDirectoryExeFS() take a shared_ptr as a const reference * content_archive: Add missing standard includes * externals: Update dynarmic to 5a91c94. * content_archive: std::move VirtualFile in NCA's constructor * vfs: Deduplicate accumulation code in VfsDirectory's GetSize() * loader/nro: Resolve sign mismatch warnings * loader/nso: Remove unnecessary vector resizes * loader/nso: Resolve sign mismatch warnings * decoders: Fix calc of swizzle image_width_in_gobs. * Virtual Filesystem 2: Electric Boogaloo (#676) * core/memory: Remove unused function GetSpecialHandlers() and an unused variable in ZeroBlock() * address_arbiter: Correct assignment within an assertion statement in WakeThreads() * service/prepo: Add missing header guard * vm_manager: Add missing commas to string literal array elements in GetMemoryStateName() * core/memory, core/hle/kernel: Use std::move where applicable * core: Make System's default constructor private * core: Don't construct instance of Core::System, just to access its live instance * externals: update fmt to version 5.1.0 * game_list: Make ContainsAllWords an internally linked non-member function * Fill in more fields in TouchScreenEntryTouch * Single touch support * telemetry: Remove unnecessary Field constructor * telemetry: Make operator== and operator!= const member functions of Field * telemetry: Default copy/move constructors and assignment operators * game_list: Upper-case containsAllWords to ContainsAllWords() * game_list: Make containsAllWords a const member function * game_list: Remove unnecessary QString initialization in KeyReleaseEater * astc: Initialize vector size directly in Decompress * astc: Mark functions as internally linked where applicable * astc: const-correctness changes where applicable * astc: Delete Bits' copy contstructor and assignment operator * astc: In-class initialize member variables where appropriate * settings: Turn docked mode off by default. * vi: Change TransactionId::CancelBuffer to LOG_CRITICAL. * vi: Fix size for ListDisplays default display. * vi: Partially implement buffer crop parameters. * GPU: Added register definitions for the stencil parameters. * General Filesystem and Save Data Fixes (#670) ------------------------------------------------------------------- Tue Jul 17 18:49:49 UTC 2018 - pousaduarte@gmail.com - Update to version 20180717: * nvflinger: Fix for BufferQueue event handling. * Kernel/Arbiter: Fix bug in WaitIfLessThan * scheduler: Clear exclusive state when switching contexts * externals: Update dynarmic to dfdec79 * HID: Update controllers less often * Logging: Dump all logs in the queue on close in debug mode * gl_rasterizer_cache: Implement texture format G8R8. * Logging: Don't lock the queue for the duration of the write ------------------------------------------------------------------- Sun Jul 15 11:14:24 UTC 2018 - pousaduarte@gmail.com - Update to version 20180714: * gl_rasterizer_cache: Fix incorrect offset in ConvertS8Z24ToZ24S8. * gl_rasterizer_cache: Implement depth format Z16_UNORM. * Services/BSD: Corrected the return for StartMonitoring according to SwIPC. * FileSys: Append the requested path to the filesystem base path in DeleteFile. * No need to use ASSERT_MSG with an empty message * OpenGL: Use MakeCurrent/DoneCurrent for multithreaded rendering. ------------------------------------------------------------------- Sat Jul 14 11:32:13 UTC 2018 - pousaduarte@gmail.com - Update to version 20180714: * GPU: Always enable the depth write when clearing the depth buffer. ------------------------------------------------------------------- Fri Jul 13 19:07:59 UTC 2018 - pousaduarte@gmail.com - Update to version 20180713: * More improvements to GDBStub (#653) * gl_rasterizer: Fix check for if a shader stage is enabled. * gl_shader_gen: Implement dual vertex shader mode. * We only need to alert for memory pool changes * initialized voice status and unused sizes in the update data header * gl_shader_decompiler: Implement PredCondition::LessThanWithNan. * gl_shader_decompiler: Use FlowCondition field in EXIT instruction. * GPU: Implement the FADD32I shader instruction. * Port #3335 and #3373 from Citra: "Small SDL fixes" and "Print the actual error preventing SDL from working" (#637) * GPU: Corrected the decoding of FFMA for immediate operands. * yuzu - Fix duplicate logs * yuzu-cmd Apply the filter string from settings * Audout "Auto" functions * Added IsWirelessCommunicationEnabled, IsEthernetCommunicationEnabled, IsAnyInternetRequestAccepted ------------------------------------------------------------------- Thu Jul 12 13:12:39 UTC 2018 - pousaduarte@gmail.com - Update to version 20180711: * hid: Fix timestamps and controller type. * Improve directory creation in WindowsCopyFiles.cmake * Services/FS: Return the correct error code when trying to mount a nonexistent savedata. ------------------------------------------------------------------- Wed Jul 11 12:59:53 UTC 2018 - pousaduarte@gmail.com - Update to version 20180710: * NvOsGetConfigU32 production impl * savedata_factory: Always create a save directory for games. * Port #3579 from Citra ------------------------------------------------------------------- Tue Jul 10 08:03:32 UTC 2018 - pousaduarte@gmail.com - Update to version 20180709: * nvhost_ctrl: Fix NvOsGetConfigU32 for Snipper Clips. * gl_rasterizer: Flip triangles when regs.viewport_transform[0].scale_y is negative. * Port #3513 (partly) from Citra * Port #3474 from Citra * Port #3505 from CItra ------------------------------------------------------------------- Sun Jul 08 12:38:16 UTC 2018 - pousaduarte@gmail.com - Update to version 20180707: * Revert "Virtual Filesystem (#597)" * GPU: Implemented the BC7U texture format. * Port #3466 from Citra * externals: Update dynarmic to f7d11baa1 * Virtual Filesystem (#597) * Remove some references to Citra * GPU: Implemented the IMNMX shader instruction. ------------------------------------------------------------------- Fri Jul 06 13:17:57 UTC 2018 - pousaduarte@gmail.com - Update to version 20180705: * GPU: Allow using the old NV04 values for the depth test function. * GPU: Implemented the F2F 'round' rounding mode. * GPU: Stub the shader SYNC and DEPBAR instructions. * GPU: Implement the Size_16_16 and Size_10_10_10_2 vertex attribute types. * GPU: Ignore textures that the GLSL compiler deemed unused when binding textures to the shaders. * GPU: Corrected the decoding for the TEX shader instruction. * GPU: Implemented the PSETP shader instruction. * GPU: Implemented the 32 bit float depth buffer format. ------------------------------------------------------------------- Wed Jul 04 20:06:22 UTC 2018 - pousaduarte@gmail.com - Update to version 20180704: * GPU: Flip the triangle front face winding if the GPU is configured to not flip the triangles. ------------------------------------------------------------------- Wed Jul 04 12:47:22 UTC 2018 - pousaduarte@gmail.com - Update to version 20180704: * GPU: Only configure the used framebuffers during clear. * GPU: Factor out the framebuffer configuration code for both Clear and Draw commands. * GPU: Support clears that don't clear the color buffer. * GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to. * GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods. * gl_rasterizer_cache: Implement PixelFormat S8Z24. * Add qt windowsvistastyle dll to the build * Update AudioRenderer Voice Sections (#614) * gl_rasterizer: Only set cull mode and front face if enabled. * GPU: Use only the least significant 3 bits when reading the depth test func. * GPU: Don't try to parse the depth test function if the depth test is disabled. * Fix build and address review feedback * Add configurable logging backends * Update clang format * Rename logging macro back to LOG_* * GPU: Set up the culling configuration on each draw. * GPU: Implemented MUFU suboperation 8, sqrt. * GPU: Set up the depth test state on every draw. * MaxwellToGL: Added conversion functions for depth test and cull mode. * GPU: Added registers for depth test and cull mode. * GPU: Implemented the Z24S8 depth format and load the depth framebuffer. * GPU: Implement offsetted rendering when using non-indexed drawing. * GPU: Fixed the index offset rendering, and implemented the base vertex functionality. * GPU: Added register definitions for the vertex buffer base element. * GPU: Directly copy the pixels when performing a same-layout DMA. * GPU: Remove a surface from the cache when its backing memory is being unmapped from the GPU's MMU. * nvmap: Return the address of the nvmap object when Freeing it for the last time. ------------------------------------------------------------------- Mon Jul 02 18:16:05 UTC 2018 - pousaduarte@gmail.com - Update to version 20180702: * GPU: Ignore disabled textures and textures with an invalid address. * GPU: Allow GpuToCpuAddress to return boost::none for unmapped addresses. ------------------------------------------------------------------- Sun Jul 01 21:10:42 UTC 2018 - pousaduarte@gmail.com - Update to version 20180701: * GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation. * GPU: Implemented the RGBA32_UINT rendertarget format. * GLCache: Specify the component type along the texture type in the format tuple. * gl_shader_decompiler: Implement predicate NotEqualWithNan. ------------------------------------------------------------------- Fri Jun 29 18:40:52 UTC 2018 - pousaduarte@gmail.com - Update to version 20180629: * gl_rasterizer_cache: Only dereference color_surface/depth_surface if valid. * gl_rasterizer_cache: Implement caching for texture and framebuffer surfaces. * gl_rasterizer_cache: Various fixes for ASTC handling. * gl_rasterizer_cache: Use SurfaceParams as a key for surface caching. * maxwell_3d: Add a struct for RenderTargetConfig. * settings: Add a configuration for use_accurate_framebuffers. * gl_rasterizer: Implement AccelerateDisplay to forward textures to framebuffers. * gl_rasterizer_cache: Cache size_in_bytes as a const per surface. * gl_rasterizer_cache: Refactor to make SurfaceParams members const. * gl_rasterizer_cache: Remove Citra's rasterizer cache, always load/flush surfaces. ------------------------------------------------------------------- Thu Jun 28 12:16:32 UTC 2018 - pousaduarte@gmail.com - Update to version 20180627: * Service/Audio: add hwopus service, stub GetWorkBufferSize function ------------------------------------------------------------------- Wed Jun 27 18:12:59 UTC 2018 - pousaduarte@gmail.com - Update to version 20180627: * gl_shader_decompiler: Add a return path for unknown instructions. * gl_rasterizer: Workaround for when exceeding max UBO size. * gl_state: Fix state management for texture swizzle. * gl_state: Remove unused state management from 3DS. * gl_rasterizer_cache: Fix inverted B5G6R5 format. * yuzu: Remove SSBOs check from Qt frontend. * Fix crash at exit * Rasterizer: Use UBOs instead of SSBOs for uploading const buffers. ------------------------------------------------------------------- Mon Jun 25 17:16:09 UTC 2018 - pousaduarte@gmail.com - Update to version 20180625: * Send the correct RequestUpdateAudioRenderer revision in the output header (#587) ------------------------------------------------------------------- Sun Jun 24 11:28:32 UTC 2018 - pousaduarte@gmail.com - Update to version 20180623: * Removed duplicate structs, changed AudioRendererResponse -> UpdateDataHeader (#583) ------------------------------------------------------------------- Sat Jun 23 12:01:00 UTC 2018 - pousaduarte@gmail.com - Update to version 20180623: * Revert "Use Ninja for MSVC AppVeyor builds" (#584) * Fixed RequestUpdateAudioRenderer deadlocks and calculated section sizes properly (#580) * IPC: skip empty buffer write prevent yuzu crash, if games, like Axiom Verge, trying to read 0 bytes from file * Kernel/Arbiters: Fix casts, cleanup comments/magic numbers * Add additional missing format. * Run clang-format on PR. * Kernel/Arbiters: HLE is atomic, adjust code to reflect that. * Kernel/Arbiters: Initialize arb_wait_address in thread struct. * Kernel/Arbiters: Clear WaitAddress in SignalToAddress * Kernel/Arbiters: Mostly implement SignalToAddress * Kernel/Arbiters: Implement WaitForAddress * Service/Audio: update audren:u service * Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs. * Use Ninja for MSVC AppVeyor builds * Drop /std:c++latest from MSVC command line ------------------------------------------------------------------- Thu Jun 21 22:40:47 UTC 2018 - pousaduarte@gmail.com - Update to version 20180621: * Add support for decrypted NCA files (#567) * Build: Fixed some MSVC warnings in various parts of the code. ------------------------------------------------------------------- Tue Jun 19 22:51:56 UTC 2018 - pousaduarte@gmail.com - Update to version 20180619: * Implement GetAvailableLanguageCodes2 (#575) * GPU: Perform negation after absolute value in the float shader instructions. * GPU: Don't mark uniform buffers and registers as used for instructions which don't have them. * svc: Add a stub for UserExceptionContextAddr. * gl_rasterizer: Get loose on independent blending. * gl_rasterizer: Implement texture format ASTC_2D_4X4. * gl_rasterizer_cache: Loosen things up a bit. * gl_shader_decompiler: Implement LOP instructions. * gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP. * Bug fixes, testing, and review changes * Add 'Load Folder' menu option * Add support for main files in file picker * Recognize main files in game list * Narrow down filter of layout configs * Move loop condition to free function * Avoid initializing single-joycon layouts with handheld controller ------------------------------------------------------------------- Sat Jun 16 19:43:00 UTC 2018 - pousaduarte@gmail.com - Update to version 20180616: * gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I. * gl_shader_gen: Set position.w to 1. * gl_shader_decompiler: Implement LOP32I LogicOperation PassB. ------------------------------------------------------------------- Thu Jun 14 18:04:30 UTC 2018 - pousaduarte@gmail.com - Update to version 20180613: * Qt: Removed the Registers widget. ------------------------------------------------------------------- Tue Jun 12 19:28:24 UTC 2018 - pousaduarte@gmail.com - Update to version 20180612: * GPU: Implemented the iadd32i shader instruction. * GPU: Partially implemented the Maxwell DMA engine. * gl_shader_decompiler: Implement saturate for float instructions. * hid: Update all layouts and only show handheld as connected, fixes libnx input for P1_AUTO ------------------------------------------------------------------- Mon Jun 11 22:34:43 UTC 2018 - pousaduarte@gmail.com - Update to version 20180610: * GPU: Convert the gl_InstanceId and gl_VertexID variables to floats when reading from them. * GPU: Implement the iset family of shader instructions. * GPU: Added decodings for the ISET family of instructions. ------------------------------------------------------------------- Sat Jun 09 12:57:43 UTC 2018 - pousaduarte@gmail.com - Update to version 20180609: * gl_shader_decompiler: Implement SHR instruction. * GPU: Stub the SSY shader instruction. * gl_shader_decompiler: Implement IADD instruction. * gl_shader_decompiler: Add missing asserts for saturate_a instructions. * GPU: Synchronize the blend state on every draw call. * GPU: Added registers for normal and independent blending. * GLCache: Align compressed texture sizes to their compression ratio, and then align that compressed size to the block height for tiled textures. * Rasterizer: Flush the written region when writing shader uniform data before copying it to the uniform buffers. * Cache ccache on Travis * Add ccache support for macOS on Travis * Add ccache support for Linux on Travis * Install cmake from repositories for Ubuntu * Common/string_util: add StringFromBuffer function convert input buffer (std::vector<u8>) to string, stripping zero chars ------------------------------------------------------------------- Thu Jun 07 18:52:11 UTC 2018 - pousaduarte@gmail.com - Update to version 20180607: * GLRenderer: Write the shader stage configuration UBO data *before* copying it to the GPU. * gl_shader_decompiler: Implement BFE_IMM instruction. * GLCache: Use the full uncompressed size when blitting from one texture to another. * GLCache: Simplify the logic to copy from one texture to another in BlitTextures. * gl_shader_decompiler: F2F: Implement rounding modes. * gl_shader_decompiler: Remove some attribute stuff that has nothing to do with TEX/TEXS. * shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD. * gl_shader_decompiler: Implement ISETP_IMM instruction. * GPU: Support changing the texture swizzles for Maxwell textures. * GLState: Support changing the GL_TEXTURE_SWIZZLE parameter of each texture unit. * gl_shader_decompiler: Implement LD_C instruction. * gl_shader_gen: Add uniform handling for indirect const buffer access. * gl_shader_decompiler: Refactor uniform handling to allow different decodings. * GPU: Implement sampling multiple textures in the generated glsl shaders. * Stub IUser::AttachAvailabilityChangeEvent * Remove unused header files * Small fixes * Service/MM: add service and stub some functions * Correct function results * Service/nfp:user : stub some functions. Used by Zelda: BoTW * Use Ninja for Travis builds ------------------------------------------------------------------- Wed Jun 06 18:42:09 UTC 2018 - pousaduarte@gmail.com - Update to version 20180606: * nvdrv/devices/nvidia_ctrl_gpu : add IoctlCommands with their params (#524) * GDB Stub Improvements (#508) * gl_shader_decompiler: Fix un/signed mismatch with SHL. * maxwell_to_gl: Implement WrapMode Mirror. * nifm: Stub out IRequest::SetConnectionConfirmationOption. * am: Stub out IApplicationFunctions::GetPseudoDeviceId. * GPU: Allow the usage of RGBA16_FLOAT in the texture copy engine. * GPU: Implemented the R11FG11FB10F texture and rendertarget formats. * GPU: Fixed the compression factor for RGBA16F textures. * GPU: Allow the usage of RGBA32_FLOAT in the texture copy engine. * Revert "Port citra #3616" * GPU: Corrected the branch targets for the shader bra instruction. * GPU: Implemented the F2I_R shader instruction. * gl_shader_decompiler: Fix typo with ISCADD instruction. * gl_shader_decompiler: Implement SHL instruction. ------------------------------------------------------------------- Tue Jun 05 13:07:47 UTC 2018 - pousaduarte@gmail.com - Update to version 20180604: * gl_shader_decompiler: Implement PredCondition::NotEqual. * GPU: Implement the ISCADD shader instructions. * GPU: Added decodings for the ISCADD instructions. * GPU: Implement predicated exit instructions in the shader programs. * GPU: Take into account predicated exits when performing shader control flow analysis. * GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f. * GPU: Corrected the I2F_R implementation. * GPU: Calculate the correct viewport dimensions based on the scale and translate registers. * Nvdrv/devices/nvhost_gpu : Add some IoctlCommands with their params (#511) * GPU: Implemented the LOP32I instruction. * GLCache: Corrected a mismatch between storing compressed sizes and verifying the uncompressed alignment in GetSurface. * sdl: add check for GL extension support * qt: add check for GL extension support * GPU: Use explicit types when retrieving the uniform values for fsetp/fset and isetp instead of the type of an invalid output register. * GPU: Implemented the ISETP_R and ISETP_C shader instructions. * GPU: Partially implemented the shader BRA instruction. * GPU: Added decoding for the BRA instruction. ------------------------------------------------------------------- Mon Jun 04 18:56:04 UTC 2018 - pousaduarte@gmail.com - Update to version 20180604: * Port citra #3616 * am: Implement ILibraryAppletAccessor::PopOutData. * am: ISelfController:LaunchableEvent should be sticky. * am: Stub out ILibraryAppletAccessor Start and GetResult methods. ------------------------------------------------------------------- Mon Jun 04 13:09:56 UTC 2018 - pousaduarte@gmail.com - Update to version 20180603: * am: Implement ILibraryAppletAccessor::PushInData. * am: Implement IStorageAccessor::Write. * am: Cleanup IStorageAccessor::Read. * am: Implement ILibraryAppletCreator::CreateStorage. * GPU: Partial implementation of long GPU queries. * gl_shader_decompiler: Implement TEXS component mask. * gl_shader_decompiler: Implement RRO as a register move. * gl_shader_decompiler: Implement TEX instruction. * gl_shader_decompiler: Support multi-destination for TEXS. ------------------------------------------------------------------- Sun Jun 03 15:59:35 UTC 2018 - pousaduarte@gmail.com - Update to version 20180603: * Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner. * GPU: Implemented the DXN1 (BC4) texture format. * Services/nvdrv: add '/dev/nvhost-nvdec' device ------------------------------------------------------------------- Fri Jun 01 17:15:16 UTC 2018 - pousaduarte@gmail.com - Update to version 20180601: * Service/time: implement posix time to calendar conversion * gl_rasterizer_cache: Assert that component type is UNorm or format is RGBA16F. * Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed. * Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask. * gl_rasterizer_cache: Implement PixelFormat RGBA16F. * Kernel/Thread: Corrected a typo in an assert about the processor id. ------------------------------------------------------------------- Thu May 31 10:06:51 UTC 2018 - pousaduarte@gmail.com - Update to version 20180530: * add IPC CommandType & Some HID FunctionInfo (#487) * Shaders: Implemented reading the gl_InstanceID and gl_VertexID variables in the vertex shader. ------------------------------------------------------------------- Wed May 30 12:57:18 UTC 2018 - pousaduarte@gmail.com - Update to version 20180530: * gl_shader_decompiler: F2F_R instruction: Implement abs. * gl_shader_decompiler: Partially implement F2F_R instruction. * GPU: Implemented the R8 texture format (0x1D) * nvhost_ctrl: Stub out IocCtrlEventRegister. * nvhost_ctrl: Stub out IocCtrlEventWaitAsyncCommand. * gl_rasterize_cache: Invert order of tex format RGB565. * Service/BCAT: add module and services ------------------------------------------------------------------- Tue May 29 10:30:39 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 20180528: * add all the known TextureFormat (#474) ------------------------------------------------------------------- Sun May 27 16:17:14 UTC 2018 - pousaduarte@gmail.com - Update to version 20180527: * GPU: Implemented the A1B5G5R5 texture format (0x14) * NvOsGetConfigU32 should return null instead of 0 for default output * am: Stub IApplicationFunctions GetDisplayVersion. * gl_shader_decompiler: Implement GetPredicateComparison GreaterEqual. * shader_bytecode: Implement other variants of FMNMX. ------------------------------------------------------------------- Sat May 26 17:10:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20180525: * Add & correct miscellaneous things (#470) * GetAudioRendererWorkBufferSize impl (#465) * Shader: Implemented compound predicates in fset. * GPU: Allow command lists to rebind a channel to another engine in the middle of the command list. * Shader: Implemented compound predicates in fsetp. * Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT ------------------------------------------------------------------- Fri May 25 12:09:25 UTC 2018 - pousaduarte@gmail.com - Update to version 20180524: * Stubbed NVGPU_GPU_IOCTL_ZBC_SET_TABLE (#463) ------------------------------------------------------------------- Thu May 24 18:51:34 UTC 2018 - pousaduarte@gmail.com - Update to version 20180524: * yuzu_cmd: Fix project for latest msvc. ------------------------------------------------------------------- Thu May 24 12:43:12 UTC 2018 - pousaduarte@gmail.com - Update to version 20180523: * Fix deadlocks caused from HID having too many layouts * externals: Update dynarmic * Add & correct some error modules * change some functions * correct placement and add size check * Add ioctl commands with their params and size check * Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey. * Kernel/Threads: Reschedule the proper core when operating on that core's threads. * SVC: Removed unused WaitSynchronization1 function ------------------------------------------------------------------- Wed May 23 12:23:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20180522: * Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE (#440) ------------------------------------------------------------------- Mon May 21 12:27:18 UTC 2018 - pousaduarte@gmail.com - Update to version 20180520: * Correct audio command numbers & add or rename some functions (#455) * Shaders: Implemented the FMNMX shader instruction. * Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release. * GPU: Implemented the nvmap Free ioctl. * GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl. * Qt/WaitTree: Display the callstack for each thread in the wait tree widget. * ShadersDecompiler: Added decoding for the PSETP instruction. * GLRenderer: Remove unused hw_vao_enabled_attributes variable. * GLRenderer: Remove unused vertex buffer and increase the size of the stream buffer to 128 MB. * rename fatal:u functions & add ThrowFatal * Properly update fatal.h void name * Properly rename fatal module functions ------------------------------------------------------------------- Sun May 20 19:04:25 UTC 2018 - pousaduarte@gmail.com - Update to version 20180520: * Add and correct some Error Modules (#444) * GLRenderer: Log the shader source code when program linking fails. * Added RequestWithContext & ControlWithContext * Updated nfp with more service names ------------------------------------------------------------------- Fri May 11 23:43:59 UTC 2018 - pousaduarte@gmail.com - Update to version 20180511: * More accurate GetTPCMasks impl * core: Add several missing docstrings. * thread: Rename mask to affinity_masks. * core: Run all CPU cores separately, even in single-thread mode. * thread: Support core change on ResumeFromWait and improve ChangeCore. * scheduler: Protect scheduling functions with a global mutex. * wait_tree: Add ideal core and affinity mask. * thread: Initialize ideal_core and mask members. * threading: Reschedule only on cores that are necessary. * svc: Implement GetThreadCoreMask and SetThreadCoreMask. * thread: Implement ChangeCore function. * svc: SignalProcessWideKey should apply to all cores. * svc: Implement GetCurrentProcessorNumber. * wait_tree: Show all threads on all schedulers. * core: Add a configuration setting for use_multi_core. * core: Support session close with multicore. * core: Implement multicore support. * core: Create a thread for each CPU core, keep in lock-step with a barrier. * core: Move common CPU core things to its own class. ------------------------------------------------------------------- Tue May 08 12:46:49 UTC 2018 - pousaduarte@gmail.com - Update to version 20180507: * Stubs for QLaunch (#428) * hid: Tweaks, Analog Sticks (#435) ------------------------------------------------------------------- Fri May 04 12:38:57 UTC 2018 - pousaduarte@gmail.com - Update to version 20180503: * memory_hook: Default virtual destructor in the cpp file * core_timing: Don't include the log header in core timing's header ------------------------------------------------------------------- Thu May 03 12:10:09 UTC 2018 - pousaduarte@gmail.com - Update to version 20180502: * general: Make formatting of logged hex values more straightforward * ipc: Add support for PopIpcInterface() method. * vector_math: Ensure members are always initialized ------------------------------------------------------------------- Tue May 01 21:40:53 UTC 2018 - pousaduarte@gmail.com - Update to version 20180501: * GetSharedFontInOrderOfPriority (#381) * GPU: Don't write to invalid memory locations when handling ioctls that don't have an output. ------------------------------------------------------------------- Tue May 01 15:44:34 UTC 2018 - pousaduarte@gmail.com - Update to version 20180430: * core_timing: Namespace all functions and constants in core_timing's header ------------------------------------------------------------------- Mon Apr 30 12:51:46 UTC 2018 - pousaduarte@gmail.com - Update to version 20180429: * string_util: Remove StringFromFormat() and related functions * file_util: Make move constructor/assignment operator and related functions noexcept * file_util: Add static assertions to ReadBytes() and WriteBytes() * maxwell_3d: Reset vertex counts after drawing. * gl_shader_decompiler: Implement MOV_R. * maxwell_to_gl: Implement type SignedNorm, Size_8_8_8_8. * shader_bytecode: Add decoding for FMNMX instruction. * gl_shader_decompiler: Implement MOV_C. ------------------------------------------------------------------- Sun Apr 29 22:53:04 UTC 2018 - pousaduarte@gmail.com - Update to version 20180429: * Shaders: Implemented predicate condition 3 (LessEqual) in the fset and fsetp instructions. ------------------------------------------------------------------- Sun Apr 29 19:42:22 UTC 2018 - pousaduarte@gmail.com - Update to version 20180429: * am: Fix GetDesiredLanguage implementation. * set: Fix GetAvailableLanguageCodes implementation. * fermi_2d: Fix surface copy block height. * gl_shader_decompiler: Partially implement I2I_R, and I2F_R. * gl_shader_decompiler: More cleanups, etc. with how we handle register types. * GLSLRegister: Simplify register declarations, etc. * shader_bytecode: Add decodings for i2i instructions. * gl_shader_decompiler: Implement MOV32_IMM instruction. * file_util: Remove compiler version checks around is_trivially_copyable() * externals: Update dynarmic * log: Remove old logging macros and functions ------------------------------------------------------------------- Sat Apr 28 08:55:50 UTC 2018 - pousaduarte@gmail.com - Update to version 20180427: * travis: Use Xcode 9.3 instead of 9.2 ------------------------------------------------------------------- Fri Apr 27 20:49:24 UTC 2018 - pousaduarte@gmail.com - Update to version 20180427: * renderer_opengl: Replace usages of LOG_GENERIC with fmt-capable equivalents * core: Replace usages of LOG_GENERIC with new fmt-capable equivalents * gl_shader_decompiler: Add GLSLRegisterManager class to track register state. * general: Convert assertion macros over to be fmt-compatible * Switched to NGLOG_WARNING * common: Move logging macros over to new fmt-capable macros where applicable * frontends: Move logging macros over to new fmt-capable ones * input_common: Move old logging macros over to fmt-capable ones * Added PREPO to logging backend, Removed comments from SaveReportWithUser * core: Replace remaining old non-generic logger usages with fmt-capable equivalents * common: Remove chunk_file.h and linear_disk_cache.h * gl_shader_decompiler: Boilerplate for handling integer instructions. * gl_shader_decompiler: Move color output to EXIT instruction. * GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport. * lioncash proposed changes * Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids) ------------------------------------------------------------------- Thu Apr 26 18:33:02 UTC 2018 - pousaduarte@gmail.com - Update to version 20180426: * core/gdbstub: Move logging macros to new fmt-compatible ones ------------------------------------------------------------------- Thu Apr 26 16:48:20 UTC 2018 - pousaduarte@gmail.com - Update to version 20180426: * core/hw: Move logging macros over to fmt-capable ones ------------------------------------------------------------------- Thu Apr 26 12:36:33 UTC 2018 - pousaduarte@gmail.com - Update to version 20180425: * kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions() * kernel: Migrate logging macros to fmt-compatible ones * GPU: Partially implemented the Fermi2D surface copy operation. * Shaders: Added bit decodings for the I2I instruction. * Shaders: Implemented the FSET instruction. * Memory: Added a missing shortcut for Memory::CopyBlock for the current process. * GPU: Make the Textures::CopySwizzledData function accessible from the outside of the file. * GPU: Added a function to retrieve the bytes per pixel of the render target formats. * GPU: Added surface copy registers to Fermi2D * GPU: Added boilerplate code for the Fermi2D engine * GPU: Reduce the number of registers of Maxwell3D to 0xE00. * GPU: Move the Maxwell3D macro uploading code to the inside of the Maxwell3D processor. * GPU: Corrected the upper bound of the PFIFO method ids in the command processor. * file-sys: convert a StringFromFormat call into fmt::format in GetFullPath() * file-sys: Move logging macros over to the new fmt-capable ones * core/memory: Amend address widths in asserts * core/memory: Move logging macros over to new fmt-capable ones * video-core: Move logging macros over to new fmt-capable ones * Service/PCTL: convert to module, add services, stub PCTL::CreateServiceWithoutInitialize and IParentalControlService::Initialize, required by Kirby Star Allies * Shaders: Added decodings for the FSET instructions. ------------------------------------------------------------------- Wed Apr 25 10:56:22 UTC 2018 - pousaduarte@gmail.com - Update to version 20180424: * renderer_opengl: Use correct byte order for framebuffer pixel format ABGR8. * gl_rasterizer_cache: Use CHAR_BIT for bpp conversions instead of 8. * gl_rasterizer_cache: Use GPU PAGE_BITS/SIZE, not CPU. * gl_rasterizer_cache: Use new logger. * gl_rasterizer_cache: Add a function for finding framebuffer GPU address. * gl_rasterizer_cache: Handle compressed texture sizes. * gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses. * loader: Move old logging macros over to new fmt-capable ones * memory_manager: Add implement CpuToGpuAddress. * memory_manager: Make GpuToCpuAddress return an optional. * memory_manager: Use GPUVAdddr, not PAddr, for GPU addresses. * service: Move logging macros over to new fmt-compatible ones * vi: Move logging macros over to new fmt-compatible ones * time: Move logging macros over to new fmt-compatible ones * ssl: Move logging macros over to new fmt-compatible ones * spl: Move logging macros over to new fmt-compatible ones * sockets: Move logging macros over to new fmt-compatible ones * sm: Move logging macros over to new fmt-compatible ones * set: Move logging macros over to new fmt-compatible ones * pctl: Move logging macros over to new fmt-compatible ones * nvflinger: Move logging macros over to new fmt-compatible ones * nvdrv: Move logging macros over to new fmt-compatible ones * ns: Move logging macros over to new fmt-compatible ones * nifm: Move logging macros over to new fmt-compatible ones * nfp: Move logging macros over to new fmt-compatible ones * lm: Move logging macros over to new fmt-compatible ones * hid: Move logging macros over to new fmt-compatible ones * friend: Move logging macros over to new fmt-compatible ones * filesystem: Move logging macros over to new fmt-compatible ones * renderer_opengl: Silence a -Wdangling-else warning in DrawScreenTriangles() * fatal: Move logging macros over to new fmt-compatible ones * audio: Move logging macros over to new fmt-compatible ones * apm: Move logging macros over to new fmt-compatible ones * aoc: Move logging macros over to new fmt-compatible ones * am: Move logging macros over to new fmt-compatible ones * acc: Move logging macros over to new fmt-compatible ones * Service/FS: implement IFileSystem::RenameFile * GPU: Added asserts to our code for handling the QUERY_GET GPU command. * GPU: Support multiple enabled vertex arrays. * Kernel: Implemented mutex priority inheritance. * NvDrv/nvhost-as-gpu: Ensure that the object passed to MapBufferEx has already been allocated. * Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command. * Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers. * GPU: Make the GPU virtual memory manager use 16 page bits and 10 page table bits. * GPU: Implement the RGB10_A2 RenderTarget format, it will use the same format as the A2BGR10 texture format. * Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs * Qt: Update the WaitTree widget to show info about the current mutex of each thread. * Kernel: Remove unused ConditionVariable class. * Kernel: Remove old and unused Mutex code. * Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey * Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock. ------------------------------------------------------------------- Sun Apr 22 16:20:08 UTC 2018 - pousaduarte@gmail.com - Update to version 20180421: * GPU: Implement the A2BGR10 texture format. * SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607) ------------------------------------------------------------------- Sat Apr 21 11:13:33 UTC 2018 - pousaduarte@gmail.com - Update to version 20180421: * gl_shader_decompiler: Skip RRO instruction. * gl_shader_decompiler: Cleanup error logging. * shader_bytecode: Add several more instruction decodings. * shader_bytecode: Decode instructions based on bit strings. * ShaderGen: Implemented the KIL instruction, which is equivalent to 'discard'. * ShaderGen: Implemented predicated instruction execution. * ShaderGen: Implemented the fsetp instruction. * opengl: Remove unnecessary header inclusions * gl_resource_manager: Add missing noexcept specifiers to move constructors and assignment operators * gl_rasterizer_cache: Make MatchFlags an enum class * core: Relocate g_service_manager to the System class * resource_limit: Make ResourceTypes an enum class * ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO). * ShaderGen: Ignore the 'sched' instruction when generating shaders. * math_util: Remove the Clamp() function * externals: Update dynarmic to HEAD * vector_math: Remove AsArray() and Write() functions from Vec[2,3,4] * common: Remove code_block.h * common/thread: Remove unnecessary feature checking for thread_local * common_funcs: Remove ARRAY_SIZE macro * common_funcs: Remove check for VS versions that we don't even support * common_types: Convert typedefs to using aliases * common_types: Remove unnecessary check for whether or not__func__ is defined * service: Use nested namespace specifiers where applicable * Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output both SetLayerVisibility() functions used in Lego games, GetDisplayResolution() fixed according switchbrew.org ------------------------------------------------------------------- Fri Apr 20 12:12:54 UTC 2018 - pousaduarte@gmail.com - Update to version 20180419: * vi: Remove redundant initializers in the constructors * disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory * disk_filesystem: Remove redundant initializer in Disk_Directory's constructor * disk_filesystem: Make constructors explicit where applicable * renderer_opengl: Add missing header guards * glsl_shader_decompiler: Use std::string_view instead of std::string for AddLine() * glsl_shader_decompiler: Add AddNewLine() function to ShaderWriter * glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine() * glsl_shader_decompiler: Append indentation without constructing a separate std::string * ShaderGen: Implemented the fmul32i shader instruction. * ShaderGen: Fixed a case where the TEXS instruction would use the same registers for the input and the output. ------------------------------------------------------------------- Thu Apr 19 22:12:32 UTC 2018 - pousaduarte@gmail.com - Update to version 20180419: * Implement Pull #3528 from citra: use nvidia graphics automatically on laptops with optimus (with AMD support) (#271) * GPU: Add support for the DXT23 and DXT45 compressed texture formats. * nvflinger: Call MicroProfileFlip on NVFlinger::Compose. * Technically, yuzu can boot commercial games ------------------------------------------------------------------- Thu Apr 19 12:20:58 UTC 2018 - pousaduarte@gmail.com - Update to version 20180418: * GPU: Implemented the B5G6R5 format. * gl_shader_gen: Support vertical/horizontal viewport flipping. (#347) * GLCache: Added boilerplate code to make supporting configurable texture component types. * GLCache: Unify texture and framebuffer formats when converting to OpenGL. * GPU: Texture format 8 and framebuffer format 0xD5 are actually ABGR8. * GPU: Pitch textures are now supported, don't assert when encountering them. * GLCache: Take into account the texture's block height when caching and unswizzling. * GLCache: Added a function to convert cached PixelFormats back to texture formats. * GPU: Allow using a configurable block height when unswizzling textures. * GPU/TIC: Added the pitch and block height fields to the TIC structure. ------------------------------------------------------------------- Wed Apr 18 13:07:21 UTC 2018 - pousaduarte@gmail.com - Update to version 20180417: * gl_rasterizer_cache: Add missing LOG statements. * texture: Add missing formats. * gpu: Add several framebuffer formats to RenderTargetFormat. * maxwell3d: Allow Texture2DNoMipmap as Texture2D. * shader_bytecode: Make ctor's constexpr and explicit. * renderer_opengl: Implement BlendEquation and BlendFunc. * bit_field: Remove is_pod check, add is_trivially_copyable_v. * gl_shader_decompiler: Fix warnings with MarkAsUsed. * gl_shader_decompiler: Cleanup logging, updating to NGLOG_*. * gl_shader_decompiler: Implement several MUFU subops and abs_d. * gl_shader_decompiler: Fix swizzle in GetRegister. * gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions. * gl_shader_decompiler: Allow vertex position to be used in fragment shader. * gl_shader_decompiler: Implement IPA instruction. * gl_shader_decompiler: Add support for TEXS instruction. * gl_shader_decompiler: Use fragment output color for GPR 0-3. * gl_shader_decompiler: Partially implement MUFU. ------------------------------------------------------------------- Tue Apr 17 18:40:29 UTC 2018 - pousaduarte@gmail.com - Update to version 20180417: * file_sys: Use NGLOG * Various service name fixes - part 2 (rebased) (#322) * MaxwellToGL: Implemented tex wrap mode 1 (Wrap, GL_REPEAT). * MaxwellToGL: Added a TODO and partial implementation of maxwell wrap mode 4 (Clamp, GL_CLAMP). * gl_rendering: Use NGLOG* for changed code. * gl_rasterizer: Implement indexed vertex mode. * file_sys: tweaks * file_sys: Add HFS/PFS helper component ------------------------------------------------------------------- Mon Apr 16 12:44:50 UTC 2018 - pousaduarte@gmail.com - Update to version 20180415: * pl_u: Use empty shared font if none is available. * GPU: Use the same buffer names in the generated GLSL and the buffer uploading code. * GPU: Don't use explicit binding points when uploading the constbuffers to opengl. * fsp_srv: Implement DeleteFile. * GPU: Don't use GetPointer when uploading the constbuffer data to the GPU. * GPU: Use the buffer hints from the shader decompiler to upload only the necessary const buffers for each shader stage. * shaders: Expose hints about used const buffers. ------------------------------------------------------------------- Sun Apr 15 10:00:28 UTC 2018 - pousaduarte@gmail.com - Update to version 20180415: * GPU: Upload the entirety of each constbuffer for each shader stage as SSBOs. * GPU: Allow configuring ssbos in the opengl state manager. * GPU: Added a function to determine whether a shader stage is enabled or not. * vm_manager: Increase GetTotalMemoryUsage value. * fsp_srv: Implement IFile::Flush. * shaders: Add NumTextureSamplers const, remove unused #pragma. * shaders: Address PR review feedback. * gl_shader_decompiler: Cleanup log statements. * shaders: Fix GCC and clang build issues. * gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup. * shader_bytecode: Add FSETP and KIL to GetInfo. * shader_bytecode: Add SubOp decoding. * gl_shader_decompiler: Add shader stage hint. * renderer_opengl: Fix Morton copy byteswap, etc. * Fix the stuck in fullscreen bug (Original PR: citra-emu/citra#3611) * gl_shader_manager: Implement SetShaderSamplerBindings. * gl_rasterizer: Generate shaders and upload uniforms. * gl_shader_decompiler: Basic impl. for very simple vertex shaders. * gl_shader_manager: Cleanup and consolidate uniform handling. * maxwell_3d: Make memory_manager public. * maxwell_3d: Fix shader_config decodings. * gl_rasterizer: Use shader program manager, remove test shader. * renderer_opengl: Add gl_shader_manager class. * maxwell_to_gl: Add a few types, etc. * gl_shader_gen: Add hashable setup/config structs. * gl_shader_util: Add missing includes. * common: Port cityhash code from Citra. * renderer_opengl: Use OGLProgram instead of OGLShader. * gl_shader_util: Grab latest upstream. * gl_resource_manager: Grab latest upstream. * gl_shader_decompiler: Add skeleton code from Citra for shader analysis. * shader_bytecode: Add initial module for shader decoding. * bit_field: Make all methods constexpr. ------------------------------------------------------------------- Sat Apr 14 11:10:05 UTC 2018 - pousaduarte@gmail.com - Update to version 20180413: * Fixed normal params in GetDisplayResolution * Stubbed out GetPlayerLedPattern ------------------------------------------------------------------- Fri Apr 13 12:13:43 UTC 2018 - pousaduarte@gmail.com - Update to version 20180413: * Various fixes and clang * Decimal change * Updated pctl:a with new service names. * Updated nvmemp with new service names. * Updated nvdrv with more service names. * Updated pl:u with more service names. * Updated hid with more service names. * Updated friend:u with more service names. * Updated the unknown name * Updated friend:a with more service names. * Updated fsp-srv with more service names. * Updated CodecCtl with more service names. * Updated audren with more service names. * Updated audrec with more service names. * Updated audout with more service names. * Updated audin with more service names. * Updated AOC with more service names. * Updated AppletOE with more service names. * Updated AppletAE with more service names. * Updated AM with more service names. ------------------------------------------------------------------- Thu Apr 12 12:56:53 UTC 2018 - pousaduarte@gmail.com - Update to version 20180411: * Service/SSL: update service according switchbrew ------------------------------------------------------------------- Tue Apr 10 22:43:13 UTC 2018 - pousaduarte@gmail.com - Update to version 20180410: * Service/ACC: convert to module, add acc:aa, acc:su, acc:u1 services ------------------------------------------------------------------- Sat Apr 07 23:38:16 UTC 2018 - pousaduarte@gmail.com - Update to version 20180407: * Prevent crash from uninitialized telemetry * Fix spelling of Initialize * Fix clang format issues * GPU: Assert when finding a texture with a format type other than UNORM. * GL: Set up the textures used for each draw call. * GL: Bind the textures to the shaders used for drawing. * GLCache: Specialize the MortonCopy function for the DXT1 texture format. * GLCache: Implemented GetTextureSurface. * GLCache: Support uploading compressed textures to the GPU. * GL: Remove remaining references to 3DS-specific pixel formats * RasterizerCache: Remove 3DS-specific pixel formats. * GL: Create the sampler objects when starting up the GL rasterizer. * GL: Ported the SamplerInfo struct from citra. * GL: Rename PicaTexture to MaxwellTexture. * GL: Added functions to convert Maxwell tex filters and wrap modes to OpenGL. * Textures: Added a helper function to know if a texture is blocklinear or pitch. ------------------------------------------------------------------- Sat Apr 07 10:31:29 UTC 2018 - pousaduarte@gmail.com - Update to version 20180406: * core, main.h: Abort on 32Bit ROMs (#309) * Update fmtlib to fix msvc warnings * rasterizer_interface.h: Update from citra to yuzu * default_ini.h: Update from citra to yuzu * gl_rasterizer_cache.cpp: Update from citra to yuzu * gl_rasterizer_cache.h: Update from citra to yuzu * renderer_opengl.h: Update from citra to yuzu ------------------------------------------------------------------- Thu Apr 05 12:41:47 UTC 2018 - pousaduarte@gmail.com - Update to version 20180404: * svc: Stub out SetThreadActivity, GetThreadContext. * audren_u: Stub out GetActiveAudioDeviceName. * audout_u: Implement GetAudioOutState. * nifm: GetResult does not return a data field. * vi: Implement GetDisplayResolution. * shared_memory: Remove incorrect 3ds-specific check. * service: Add friend:u interface. ------------------------------------------------------------------- Tue Apr 03 09:50:31 UTC 2018 - pousaduarte@gmail.com - Update to version 20180402: * logging: Change FmtLogMessage to use variadic template instead of FMT_VARIADIC * deconstructed_rom_directory.cpp: Fix Typo * externals: Update fmt to 4d35f94 * common: fix swap functions on Bitrig and OpenBSD * telemetry.h: Reword comment from citra to yuzu * telemetry_session.h: Reword Documentation Comment from citra to yuzu * Remove Links to citra Services * Change Telemetry Names to yuzu * yuzu.cpp: Update Link from citra to yuzu * main.cpp: Replace Citra with yuzu Wiki Links * main.cpp: Update Dialog from citra to yuzu * Remove dependency chrono * Change "yuzu starting..." to be logged with the new macro * Logging: Create logging macros based on fmtlib * Update qt ------------------------------------------------------------------- Mon Apr 02 18:56:29 UTC 2018 - pousaduarte@gmail.com - Update to version 20180402: * GPU: Use the MacroInterpreter class to execute the GPU macros instead of HLEing them. * GPU: Implemented a gpu macro interpreter. * hid: Write empty touch screen state. * hle_ipc, fsp_srv: Cleanup logging. * hid: Stub out GetSupportedNpadStyleSet. * hle_ipc: Do not ensure write buffer size. * fsp_srv: Implement GetSize and SetSize. * memory: Fix stack region. ------------------------------------------------------------------- Sat Mar 31 11:03:23 UTC 2018 - pousaduarte@gmail.com - Update to version 20180331: * Port citra-emu/citra#3610 to yuzu * Remove whitespaces * Add Dark theme, Icon theming * audren_u: Stub QueryAudioDeviceSystemEvent and GetActiveChannelCount. * svc: Stub GetThreadCoreMask. * service: Add NFP module interface. ------------------------------------------------------------------- Thu Mar 29 14:09:03 UTC 2018 - pousaduarte@gmail.com - Update to version 20180329: * dynarmic: Update to 9cc12d8 * result: Check against self-assignment in ResultVal's copy assignment operator ------------------------------------------------------------------- Wed Mar 28 10:59:51 UTC 2018 - pousaduarte@gmail.com - Update to version 20180327: * main.h: Add pragma once, remove ifndef * dynarmic: Update to 12a1020 * settings: Remove unused CpuCore class. * config: Use simplified checkbox (from Citra) for CPU JIT. * config: Rename is_docked to use_docked_mode to be consistent with other config bools. * configure_general: Cleanup naming. * qt: Add config option for is_docked. * config: Add setting for whether the system is docked or not. ------------------------------------------------------------------- Tue Mar 27 11:01:19 UTC 2018 - pousaduarte@gmail.com - Update to version 20180326: * renderer_opengl: Use better naming for DrawScreens and DrawSingleScreen. * graphics_surface: Remove superfluous cast. * gl_rasterizer: Move code to bind framebuffer surfaces before draw to its own function. * gl_rasterizer: Add a SyncViewport method. * gl_rasterizer: Move PrimitiveTopology check to MaxwellToGL. * graphics_surface: Fix merge conflicts. * gl_rasterizer: Use ReadBlock instead of GetPointer for SetupVertexArray. * gl_rasterizer: Normalize vertex array data as appropriate. * memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock. * maxwel_to_gl: Fix string formatting in log statements. * rasterizer: Rename DrawTriangles to DrawArrays. * gl_rasterizer: Use passthrough shader for SetupVertexShader. * renderer_opengl: Logging, etc. cleanup. * renderer_opengl: Remove framebuffer RasterizerFlushVirtualRegion hack. * gl_rasterizer_cache: Implement UpdatePagesCachedCount. * memory: Add RasterizerMarkRegionCached code and cleanup. * gl_rasterizer: Implement SetupVertexArray. * gl_rasterizer_cache: Fix an ASSERT_MSG. * maxwell_to_gl: Add module and function for decoding VertexType. * maxwell_3d: Use names that match envytools for VertexType. * maxwell_3d: Add VertexAttribute struct and cleanup. * gl_rasterizer: Use 32 texture units instead of 3. * gl_rasterizer: Implement DrawTriangles. * Maxwell3D: Call AccelerateDrawBatch on DrawArrays. * gl_rasterizer: Implement AnalyzeVertexArray. * gl_rasterizer_cache: MortonCopy Switch-style. * gl_rasterizer_cache: Implement GetFramebufferSurfaces. * maxwell: Add RenderTargetFormat enum. * renderer_opengl: Only draw the screen if a framebuffer is specified. * GPU: Load the sampler info (TSC) when retrieving active textures. * GPU: Added the TSC structure. It contains information about the sampler. * GPU: Added more fields to the TIC structure. * log.h: Change comment from citra to yuzu * file_util.h: Update Comment from citra to yuzu * cpu_detect.cpp: Change comment from citra to yuzu * pre-commit: Change comment from citra to yuzu * Implement Citra pull 3043 ------------------------------------------------------------------- Mon Mar 26 12:56:01 UTC 2018 - pousaduarte@gmail.com - Update to version 20180325: * audren_u: Fix GetAudioDevice. * hid: Stub out SetNpadJoyAssignmentModeDual. * pl_u: Add RequestLoad. ------------------------------------------------------------------- Sun Mar 25 20:46:53 UTC 2018 - pousaduarte@gmail.com - Update to version 20180325: * Service/sockets: add bsd:s, nsd:a, nsd:u services * GPU: Make the debug_context variable a member of the frontend instead of a global. * GPU: Added a function to retrieve the active textures for a shader stage. * Frontend: Updated the surface view debug widget to work with Maxwell surfaces. * Frontend: Allow opening the Surface View widget in the Qt frontend. * GPU: Implement the Incoming/FinishedPrimitiveBatch debug breakpoints. * GPU: Implement the MaxwellCommandLoaded/Processed debug breakpoints. * Frontend: Ported the GPU breakpoints and surface viewer widgets from citra. * GPU: Added a method to unswizzle a texture without decoding it. * GPU: Preliminary work for texture decoding. ------------------------------------------------------------------- Sat Mar 24 10:34:00 UTC 2018 - pousaduarte@gmail.com - Update to version 20180324: * arm_dynarmic: Fix timing * GPU: Added viewport registers to Maxwell3D's reg structure. * gl_rasterizer: Fake render in green, because it's cooler. * gl_rasterizer: Log warning instead of sync'ing unimplemented funcs. * gl_rasterizer_cache: Add missing include for vm_manager. * renderer_opengl: Only invalidate the framebuffer region, not flush. * renderer_opengl: Fixes for properly flushing & rendering the framebuffer. * memory: Fix typo in RasterizerFlushVirtualRegion. * FS: Move the file open mode calculation to a separate function. * RasterizerCacheOpenGL: FlushAll should flush full memory region. * memory: RasterizerFlushVirtualRegion should also check process image region. * rasterizer: Flush and invalidate regions should be 64-bit. * renderer_opengl: Add framebuffer_transform_flags member variable. * renderer_opengl: Better handling of framebuffer transform flags. * Remove Option for N/3DS from default.ini * CITRA_ICON -> YUZU_ICON * Service/SSL: add ssl service * renderer_opengl: Use accelerated framebuffer load with LoadFBToScreenInfo. * nvdisp_disp0: Always flush and invalidate framebuffer region. * gl_rasterizer: Implement AccelerateDisplay method from Citra. * LoadGLBuffer: Use bytes_per_pixel, not bits. * memory: Port RasterizerFlushVirtualRegion from Citra. * gl_rasterizer_cache: LoadGLBuffer should do a morton copy. * video_core: Move MortonCopyPixels128 to utils header. * yuzu_cmd: change default cpu core to dynarmic * default_ini: change default cpu core to dynarmic * video_core: Remove usage of PAddr and replace with VAddr. * video_core: Move FramebufferInfo to FramebufferConfig in GPU. * gl_rasterizer: Replace a bunch of UNIMPLEMENTED with ASSERT. * gl_rasterizer: Add a simple passthrough shader in lieu of shader generation. * gpu: Expose Maxwell3D engine. * maxwell_3d: Add some format decodings and string helper functions. * renderer: Create rasterizer and cleanup. * Remove more N3DS References * FS: Implemented IFileSystem::CreateDirectory. * FS: Implemented IFileSystem's OpenDirectory function. * FS: Added the IDirectory IPC interface and implemented its two functions. * FS: Implement DiskFileSystem's OpenDirectory interface. * FS: Implement DiskFileSystem::GetEntryType for existing files/directories. * FS: Updated the Directory Entry structure to match the Switch. * FS: Support the file Append open mode. * FS: Implement MountSdCard. * FS: Added an SDMC archive factory and registered it to the SDMC archive on startup. ------------------------------------------------------------------- Thu Mar 22 17:05:15 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 20180322: * Service/spl: add module and services * CMake: Set EMU_ARCH_BITS in CMakeLists.txt * Use HTTPS for Submodule lz4 * GPU: Added vertex attribute format registers. * GPU: Added registers for the number of vertices to render. ------------------------------------------------------------------- Wed Mar 21 20:24:45 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 20180321: * Service/vi: convert services to module * renderer_gl: Port boilerplate rasterizer code over from Citra. * gl_shader_util: Sync latest version with Citra. * renderer_gl: Port over gl_shader_gen module from Citra. * renderer_gl: Port over gl_shader_decompiler module from Citra. * renderer_gl: Port over gl_rasterizer_cache module from Citra. * gl_resource_manager: Sync latest version with Citra. * renderer_gl: Port over gl_stream_buffer module from Citra. * externals: Update Glad to latest version used by Citra. * gl_state: Sync latest version with Citra. ------------------------------------------------------------------- Tue Mar 20 16:10:35 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 20180320: * Service: add fatal:u, fatal:p services ------------------------------------------------------------------- Tue Mar 20 14:23:07 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 20180319: * GPU: Added Z buffer registers to Maxwell3D's reg structure. * GPU: Added the render target (RT) registers to Maxwell3D's reg structure. * Clang Fixes * oops * More Warning cleanups * Clean Warnings (?) ------------------------------------------------------------------- Mon Mar 19 15:03:44 UTC 2018 - opensuse-packaging@opensuse.org - Update to version 20180319: * GPU: Added the TSC registers to the Maxwell3D register structure. * GPU: Added the TIC registers to the Maxwell3D register structure. * vi: Remove DequeueBuffer and wait until next available buffer. * hle_ipc: Add SleepClientThread to block current thread within HLE routines. * hle_ipc: Use shared_ptr instead of unique_ptr to allow copies. * hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer. * thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB. * GPU: Implement macro 0xE1A BindTextureInfoBuffer in HLE. * GPU: Implement the BindStorageBuffer macro method in HLE. * GPU: Handle writes to the CB_DATA method. * GPU: Move the GPU's class constructor and destructors to a cpp file. * GPU: Store uploaded GPU macros and keep track of the number of method parameters. * GPU: Macros are specific to the Maxwell3D engine, so handle them internally. * GPU: Renamed ShaderType to ShaderStage as that is less confusing. * GPU: Store shader constbuffer bindings in the GPU state. * GPU: Corrected some register offsets and removed superfluous macro registers. * GPU: Make the SetShader macro call do the same as the real macro's code. * GPU: Corrected the parameter documentation for the SetShader macro call. * GPU: Handle the SetShader method call (0xE24) and store the shader config. * GPU: Added the vertex array registers. * GPU: Process command mode 5 (IncreaseOnce) differently from other commands. * GPU: Assert that we get a 0 CODE_ADDRESS register in the 3D engine. * GPU: Added Maxwell registers for Shader Program control. * nvflinger: Remove superfluous buffer format check. * process: MirrorMemory should use MemoryState::Mapped. * process: Unmap previously allocated heap. * arm_interface: Support unmapping previously mapped memory. * svc: Use more correct values for GetInfo MapRegion and NewMapRegion. * kernel: Move stack region outside of application heap. * memory: Add regions for map region, "new" map region, etc. * process: Fix stack memory state. * MemoryState: Add additional memory states and improve naming. * IGeneralService: fix function list * Service/NIFM: stub cancel function * Service/NIFM: convert to module * Implements citra-emu/citra#3184 ------------------------------------------------------------------- Thu Mar 15 15:28:24 UTC 2018 - pousaduarte@gmail.com - Update to version 20180314: * core: Move process creation out of global state. ------------------------------------------------------------------- Thu Mar 08 18:31:01 UTC 2018 - pousaduarte@gmail.com - Update to version 20180307: * pls, that was easy ------------------------------------------------------------------- Mon Mar 05 15:52:12 UTC 2018 - pousaduarte@gmail.com - Update to version 20180305: * GPU: Intercept writes to the VERTEX_END_GL register. * FS: Use the correct error code when trying to open files that don't exist. * FS: Stubbed CreateSaveData. It currently does nothing. * FS: Make EnsureSaveData create the savedata folder when called for the first time. * CoreTiming: Unschedule the pending events when an Interface is destroyed. ------------------------------------------------------------------- Sat Mar 03 21:40:18 UTC 2018 - pousaduarte@gmail.com - Update to version 20180303: * Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called. * Service/Set: add more services ------------------------------------------------------------------- Fri Mar 02 13:41:57 UTC 2018 - pousaduarte@gmail.com - Update to version 20180301: * SaveData: Use the current titleid when opening the savedata archive. * Kernel: Store the program id in the Process class instead of the CodeSet class. * FS: Implement MountSaveData and some of the IFile interface. * Filesystem: Added a SaveData Factory and associated Disk_FileSystem. * ResultCode: Mark any error code that isn't 0 as an error. ------------------------------------------------------------------- Wed Feb 28 14:00:37 UTC 2018 - pousaduarte@gmail.com - Update to version 20180227: * thread: Clear the process list on shutdown. ------------------------------------------------------------------- Tue Feb 27 12:49:59 UTC 2018 - pousaduarte@gmail.com - Update to version 20180226: * Removes the use of QKeySequence::Cancel (#186) * Add warning if Domain request has no domain message header * Fix: change check for domain order and existance of domain message header * IPC: add domain header to response if only it exists in request ------------------------------------------------------------------- Mon Feb 26 11:12:33 UTC 2018 - pousaduarte@gmail.com - Update to version 20180225: * (Hopefully) Fix MinGW Build * Add UnmapSharedMemory ------------------------------------------------------------------- Mon Feb 26 00:56:27 UTC 2018 - pousaduarte@gmail.com - Update to version 20180225: * file_sys: Style tweaks * loader: Check error on NPDM load, use TID for CodeSet * loader: Use NPDM information when loading NSOs * file_sys: Add support for parsing NPDM files ------------------------------------------------------------------- Sat Feb 24 23:10:29 UTC 2018 - pousaduarte@gmail.com - Update to version 20180223: * Stub more functions * Stub am::SetScreenShotPermission, and bsd::StartMonitoring functions ------------------------------------------------------------------- Fri Feb 23 22:17:07 UTC 2018 - pousaduarte@gmail.com - Update to version 20180223: * time: Add missing time:s functions, used for libnx * dynarmic: Update to 6b4c6b0 * arm_dynarmic: LOG_INFO on unicorn fallback * memory: LOG_ERROR when falling off end of page table ------------------------------------------------------------------- Thu Feb 22 18:22:46 UTC 2018 - pousaduarte@gmail.com - Update to version 20180222: * time: Add GetStandardLocalSystemClock, used by libnx * core: Fix scheduler-shutdown related crash * Service/AOC: stub ListAddOnContent function * acc_u0: Stub ListOpenUsers service function. * service: Add Friend service interface. * logging: Add category for Friend service. ------------------------------------------------------------------- Tue Feb 20 12:21:28 UTC 2018 - pousaduarte@gmail.com - Update to version 20180219: * scheduler: Cleanup based on PR feedback. * AM: Corrected the response in EnsureSaveData. * kernel: Use Scheduler class for threading. * kernel: Add Scheduler, which encapsulates the scheduling loading from Thread module. * core: Use shared_ptr for cpu_core. * kernel: Remove unused address_arbiter code. ------------------------------------------------------------------- Sun Feb 18 23:11:42 UTC 2018 - pousaduarte@gmail.com - Update to version 20180218: * Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation. * Update build.sh * nvmap: Make IocFromId return the same existing handle instead of creating a new one. * Parcel: Ensure we don't read past the end of the parcels in Vi. * Vi: Mark all fences as NO_FENCE in the DequeueBuffer response parcel. * Vi: Always write the IGBPBuffer in the RequestBuffer response parcel. * Use Docker for Build Target clang-format for travis. This uses the (apparently) more stable Ubuntu Repo instead of the LLVM one. * nvhost-ctrl: Stub NVHOST_IOCTL_CTRL_EVENT_WAIT. * Vi: Mark the fences as valid in the DequeueBuffer response parcel. * Vi: Added a missing u32 in the DequeueBuffer response parcel. * Vi: Don't write the IGBPBuffer in the IGBPRequestBufferResponseParcel. * Vi: Properly write the BufferProducerFence object in the DequeueBuffer response parcel. ------------------------------------------------------------------- Sun Feb 18 17:01:58 UTC 2018 - pousaduarte@gmail.com - Update to version 20180217: * updated dynarmic * Service/hid: stub some functions ------------------------------------------------------------------- Fri Feb 16 13:38:55 UTC 2018 - pousaduarte@gmail.com - Update to version 20180215: * shared_memory: Remove some checks. * pl_u: Implement basic shared font loading from RAM dump. * log: Add logging category for NS services. * hid: Stub GetVibrationDeviceInfo and SendVibrationValues. * hle_ipc: Remove const from WriteBuffer size. * Fix fps counter to correctly measure frame end when there was no frame to draw * hle_ipc: Add GetReadBufferSize and check write buffer size. * service: Remove remaining uses of BufferDescriptor*. * audio: Use WriteBuffer instead of BufferDescriptorB. * vi: Eliminate direct usage of BufferDescriptorB. * nvdrv: Use ReadBuffer/WriteBuffer functions for Ioctl. * vi: Use ReadBuffer/WriteBuffer functions for TransactParcel. * hle_ipc: Add helper functions for reading and writing buffers. * hle_ipc: Add helper functions for reading and writing buffers. * vi: Fix TransactParcelAuto to support both buffer formats. ------------------------------------------------------------------- Wed Feb 14 16:08:48 UTC 2018 - pousaduarte@gmail.com - Update to version 20180214: * memory: Silence formatting sepecifier warnings * nso: Silence formatting specifier warnings * deconstructed_rom_directory: Silence formatting specifier warnings * nvdrv/interface: Silence formatting specifier warnings * nvmap: Silence formatting specifier warnings * nvhost_gpu: Silence formatting specifier warnings * nvhost_ctrl: Silence formatting specifier warnings * nvhost_ctrl_gpu: Silence formatting specifier warnings * nvhost_as_gpu: Silence formatting specifier warnings * thread: Silence formatting specifier warnings * vm_manager: Silence formatting specifier warnings * gdbstub: Silence formatting specifier warnings * debugger: Fix wait_tree crash. * maxwell_3d: Make constructor explicit * audren_u: Schedule reoccuring event. (#183) * Service/lm: add support to multiline logs * vi: Add FENCE_HACK, which is useful for booting BOTW. * vi: Stub TransactParcel CancelBuffer. * TransactParcel: Move WriteBlock to narrowest scope. * GPU: Partially implemented the QUERY_* registers in the Maxwell3D engine. ------------------------------------------------------------------- Tue Feb 13 13:20:02 UTC 2018 - pousaduarte@gmail.com - Update to version 20180212: * arm_dynarmic: Support direct page table access ------------------------------------------------------------------- Mon Feb 12 21:49:06 UTC 2018 - pousaduarte@gmail.com - Update to version 20180212: * Add RequestUpdateAudioRenderer, StartAudioRenderer and StopAudioRenderer stubs to audren:u * Make a GPU class in VideoCore to contain the GPU state. * GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines. * nvdrv: Make the GPU memory manager available to nvhost-gpu. * renderer_opengl: Support framebuffer flip vertical. * vi: Parse IGBPQueueBufferRequestParcel params and expose buffer flip vertical. * vi: Fix OpenLayer and CreateStrayLayer. ------------------------------------------------------------------- Sun Feb 11 18:01:32 UTC 2018 - pousaduarte@gmail.com - Update to version 20180210: * fsp_srv: Stub MountSdCard. * apm: Refactor service impl. to support multiple ports. * vi: Implement TransactParcelAuto. * nvflinger: (Hack) Use first available buffer if none are found. * IGBPQueueBufferRequestParcel: Don't enforce buffer length. * IGBPRequestBufferResponseParcel: Fix response for libnx. * dynarmic: Fix bug due to Windows ABI mismatch * nvdrv: Fix QueryEvent for libnx. * IApplicationDisplayService::CloseDisplay: Fix response params size. * nvhost_ctrl_gpu: Implement ZCullGetInfo. * dynarmic: Update to 41ae12263 * acc_u0: Implement ListAllUsers. * nvhost_as_gpu: Implement AllocateSpace and MapBufferEx. * nvdrv: Add MemoryManager class to track GPU memory. * nvmap: Refactor to expose nvmap objects. * nvhost_as_gpu: Add nvmap as a class member. * Service: stub some functions in am, audio, time, vi services * Service/hid: stub SetNpadHandheldActivationMode * mutex: Update hasWaiters on release. * hid: Stub ActivateTouchScreen and SetNpadJoyHoldType. * Extra nvdrv support (#162) * IApplicationFunctions: Stub out EnsureSaveData. * Dont call UNIMPLEMENTED for 'empty services', just return error code * Changed .istorage to .romfs * set: GetAvailableLanguageCodes should not return lang_codes size. * nvflinger: Signal BufferQueue native handle event. * logger: Add Time service logging category. * logger: Add SET service logging category. * logger: Add PCTL service logging category. * logger: Add LM service logging category. * logger: Add APM service logging category. * lm: Ensure log string is non-empty before checking back(). * logger: Add NIFM service logging category. * logger: Add VI service logging category. * hid: Stub out several functions. * hid: Implement CreateActiveVibrationDeviceList. * logger: Use Service_HID category where applicable. * logger: Use Service_NVDRV category where applicable. * logger: Add AM service logging category. * logger: Add "account" service logging category. * acc_u0: Stub out GetLastOpenedUser. * GetInfo: Implement IsCurrentProcessBeingDebugged. * WaitProcessWideKeyAtomic: Handle case where condition variable was already created. * acc:u0 : stub GetAccountId * svc: SharedMemory size should be 64-bits and cleanup. * ArbitrateLock: Assert that requesting_thread is current_thread. * controller: DuplicateSession should return a ClientSession. * Service:nifm: add nifm:a, nifm:s and nifm:u services ------------------------------------------------------------------- Sat Feb 03 16:52:06 UTC 2018 - pousaduarte@gmail.com - Update to version 20180202: * Service/am: Add AppletAE service (#153) ------------------------------------------------------------------- Fri Feb 02 20:34:56 UTC 2018 - pousaduarte@gmail.com - Update to version 20180202: * Services/vi: add vi:s and vi:u services * vi::CreateStrayLayer : add padding to request * shared_memory: Only mark addresses as invalid if they are within the heap ------------------------------------------------------------------- Fri Feb 02 16:26:29 UTC 2018 - pousaduarte@gmail.com - Update to version 20180129: * [WIP] sfdnsres: stub (#146) * externals: Update catch to v2.1.1 * travis: Remove CMAKE_OSX_ARCHITECTURES argument * memory: Replace all memory hooking with Special regions * Added webhook notifications to TravisCI build. * Fix typo for dependent options * Install Linux icon in hicolor instead of pixmaps * time: Implement ISteadyClock::GetCurrentTimePoint. * audout_u: Various cleanups. * ResponseBuilder: Use a bit field for customizing instead of always_move_handles. * time: Stub GetSystemClockContext function. * server_session: Fix scenario where all domain handlers are closed. * hle: Rename RequestBuilder to ResponseBuilder. * service: Fix all incorrect IPC response headers. * ipc_helpers: Make interface domain agnostic and add header validation. * hle: Integrate Domain handling into ServerSession. * hle: Remove Domain and SyncObject kernel objects. * handle_table: Remove ConvertSessionToDomain. * audout:u OpenAudioOut and IAudioOut (#138) * Fix time returning epoch time in milliseconds rather than in seconds * logging: add missing NVDRV subclass to macro list * Correct Spelling ------------------------------------------------------------------- Tue Jan 23 12:52:05 UTC 2018 - pousaduarte@gmail.com - Update to version 20180122: * Services: Added a todo about returning interfaces as domain objects in lm, hid and time. * Time: Don't create unnecessary ports when retrieving the clock service sessions. * HID: Don't create an unnecessary port in CreateAppletResource. * LM: Don't create an unnecessary port in Initialize. * IPC: Don't create an unnecessary port when using PushIpcInterface outside of a domain. * Stub OpenAudioOut and fix a issue with HID IAppletResource being created more than once * AppletOE: Stubbed CreateManagedDisplayLayer to create a new layer in the Default display. * AppletOE: Make ISelfController keep a reference to nvflinger. * Services: Vi shouldn't be responsible for creating nvflinger. * VI: Move BufferQueue and NVFlinger to their own folder/namespace. * Added stubs for audio services. (#116) * Added nvmemp, Added /dev/nvhost-ctrl, SetClientPID now stores pid (#114) * nvmap: Add a return 0 underneath the UNIMPLEMENTED macro * nvmap: Make IoctlCommands an enum class * externals: Update dynarmic * file_sys: Clang format fixes. * fsp_srv: Various improvements to IStorage:Read implementation. * deconstructed_rom_directory: Implement istorage loading for RomFS. * filesystem: Implement basic IStorage functionality. * file_sys: Cleanup to better match Switch file system constructs. * file_sys: Remove disk_archive, savedata_archive, and title_metadata. * archive_backend: Minor changes to match Switch IFileSystem. * file_sys: Repurpose 3DS IVFC code for Switch ROMFS. * gdbstub: Update registers and sizes for aarch64 * VI: Implement the Query transaction of IHOSBinderDriver, and stubbed some results. * CMakeLists: Fix unicorn build for macOS developers with x86_64-only systems * CMakeLists: Do not look for system Unicorn by default * Fix spelling error in CMakeLists * service/time: remove accidental #pragmas * loader: Minor style fix in deconstructed_rom_directory * Travis: Add missing PPA for newer libstdc++ * Travis: Update clang-format to 6.0 * Format: Run the new clang format on everything * CMake: Conditionally turn on bundled libs for MSVC * CMake: Update contributing guide with the new clang format info * CMake: Add a custom clang format target * memory: Return false for large VAddr in IsValidVirtualAddress * loader: Clean up ctors and includes. * loader: Add DeconstructedRomDirectory for game dumps. * loader: Refactor to also pass filepath into IdentifyType. * nso: Remove code specific to directory loading. * Port citra #3352 to yuzu (#103) * Added CreateSharedMemory & UNIMPLEMENTED() for non existent services. (#113) * Fixes some cast warnings, partial port of citra #3064 (#106) * acc, set, applet_oe: stub various functions, add set service (#105) * ISelfController: Stub LockExit and UnlockExit * time: Add new line to ends of files. * applet_oe: Clang-format. * time: Stub out GetTotalLocationNameCount and some cleanup. * nvdrv: Stub SetClientPID. * svc: Fix svcGetInfo MapRegionBaseAddr. * svc: Add additional fields to MemoryInfo struct. * Fix dispdrv typo * qt: Migrate to Qt 5 signal/slot connection syntax where applicable * ui: Rename almost all classes in configuration_input.ui (#99) * Port citra #3336 - Resizes the configuration window to not be so stretched out * Fix NRO Entry Point * Stub PopLaunchParameter and implement Buffer C Descriptors reading on hle_ipc (#96) * Start to implement/stub BSD:U and SFDNSRES services (#78) * Build: Add missing dlls to msvc release * time: Fix use of CamelCase in ToCalendarTimeWithMyRule * time: Refactor time:* to use a single shared module * travis: Use Xcode 9.2 * lm: Minor logging fix to skip a byte. * Update core.cpp ------------------------------------------------------------------- Thu Jan 18 13:36:25 UTC 2018 - pousaduarte@gmail.com - Update to version 20180118: * Build: Update deploy keys * CMakeLists: Derive the source directory grouping from targets themselves * controller: Use DuplicateSession for DuplicateSessionEx. * svc: Rename some entries to match their analogue on SwitchBrew * svc: Add CreateJitMemory and MapJitMemory svc strings * vi: Make constructors explicit where applicable * vi: Add missing override specifiers * vi: Copy data directly into the std::vector within Parcel's ReadBlock function * hotkeys: Add missing <QTreeWidgetItem> include * game_list: Add missing override specifier for KeyReleaseEater's eventFilter function * game_list: Amend doxygen parameter identifiers for containsAllWords() * telemetry: Silence initialization order warnings * input_common/sdl: Silence a -Wpessimizing-move warning * externals: Update catch to 2.1.0 * bootmanager: Minor tidiness/correctness changes * Fix NRO loading * Implement Pull #3306 from citra: citra_qt: Drop Qt 5 version checks in code (#41) * TIME: consolidate time:* interfaces, stub functions and structs * Remove relocation on NSO/NRO * Update CMakeLists.txt * Update title_metadata.h * svc: Clang-format fix. * Update default_ini.h * hle_ipc: Clang format. * Fixed formatting * nvdrv: stubbed Close(cmd 2) * Fix gdbstub typo, fixes Citra #3318 * hid: Adjust timing based on actual hardware * ipc: Implement domain command CloseVirtualHandle. * loggin: Add IPC logging category. * UI: Fix frame rate perf stats * acc_u0: Add IPC interface and stub InitializeApplicationInfo. * hid: clang-format * hid: Adjust for style guide * applet_oe: Fix GetOperationMode and GetPerformanceMode. * Fix non translated string (same as Citra PR 2949) * NV: Implemented the nvdrv service, which uses the same interface as nvdrv:a * NV: Move the nvdrv classes into the Nvidia namespace, and move the functionality to a s single module that services call. * VI: Stubbed GetNativeHandle, Create/DestroyStrayLayer and CloseDisplay * Services: Stubbed APM::OpenSession and the ISession interface. * AppletOE: Stub a bunch of functions required by libnx homebrew. * SVC: Correct some return values in svcGetInfo and added TitleId and PrivilegedProcessId stubs. * SVC: Add 4.0.0+ comment to GetInfoType enum values. * IPC: Push domain objects as move handles when not in a domain. * Update memory.h * SetThreadCoreMask stub, time to implement fsp * implemented more of ISelfController and IApplicationFunctions * Added more svcGetInfo pairs * Increased heap size and changed tls area vaddr * Use static functions instead of lambdas * Add translation support for button labels * Add button labels for sdl joystick mappings * CMake: Override PYTHON environment variable for libunicorn * clang-format * travis: Use more recent cmake on macOS * Implement Pull #3034 from Citra * Implement Pull #3030 from Citra * Update README.md to include AppVeyor build status. * nso: Modify .bss size calculation logic * Update game_list.cpp * Update CMakeLists.txt * Build: Automagically handle unicorn * Implement Pull #3333 from citra: citra_qt: Pause emulation on CoreError (#39) * Merge citra-emu PR#3159 by FearlessTobi(citra-qt : Fix a bug in our fullscreen implementation) * Merge citra-emu PR#3001 by Styleoshin(citra-qt : Adding fullscreen mode) * hid: Write to all layouts, implement circular buffers, set up controller metadata. * Build: Update Appveyor and Travis secret keys * Build: Add unicorn as a submodule and build it if needed * Updated Discord link to match website. * Adding meumart's Citra SDL Joystick support. Citra PR #3116 * nso: Load subsdk4 if available. * rename CITRA to YUZU * pctl: Clang format. * pctl: GetService should return an IParentalControlService interface. * applet_oe: Stub SetFocusHandlingMode, GetCurrentFocusState, SetTerminateResult. * settings: Fix button mappings array to have correct entries. * Clanggit rebase -i fixes * Clang format * Change default log level to info * Update the internal resolution settings * Fix some warnings * CMake: Output binaries to bin/ * yuzu_cmd: Fix default ini, add screenshot button * hid: Bare-minimum sharedmem input * hid: Remove redundant HID prefix on structs/enums * configure_input: update w/ Switch buttons * settings: Screenshot button * yuzu_cmd: fix default ini * settings: adjust button configs for Switch controllers * hid: Add sharedmem structs * fixed build for gcc c++17 / boost.icl incompatibility * vi: Add IManagerDisplayService::CloseDisplay function * renderer_gl: Clear screen to black before rendering framebuffer. * Games expect 15 for ICommonStateGetter::ReceiveMessage in order to continue execution * renderer: Render previous frame when no new one is available. * Update README.md with Travis link. * fixed build for gcc c++17 / boost.icl incompatibility * lm: Fix IPC header for Initialize. * time: Implement GetStandardUserSystemClock, GetCurrentTime. * audio: Add files to CMake. * hid: Remove unused registered_loggers. * audio: Stub out AudOutU::ListAudioOuts. * hid: Implement IAppletResource::GetSharedMemoryHandle. ------------------------------------------------------------------- Sun Jan 14 23:45:51 UTC 2018 - pousaduarte@gmail.com - Update to version 20180114: * Fix some warnings in the microprofile ------------------------------------------------------------------- Sun Jan 14 23:26:04 UTC 2018 - pousaduarte@gmail.com - Update to version 20180114: * qt: Update about dialog to show license for GPLv2 only. * shared_memory: Minor fixes and cleanup. * svc: Implement svcMapSharedMemory. * kernel: Increase default stack size to 64K. * Remove Surface Viewer stub * Implement "About" dialog * Add missing FileType declarations in GuessFromExtension and GetFileTypeString * Fix compilation on case-sensitive OSX ------------------------------------------------------------------- Sun Jan 14 14:29:12 UTC 2018 - pousaduarte@gmail.com - Update to version 20180114: * externals: Remove unused repos. * yuzu qt copy windows deps renamed * Minor cleanup * macOS: Update Info.plist * Add new icons and fix up the linux paths for install * Update dynarmic to bc73004 * Fix build on macOS and linux * Update build scripts * yuzu: Update CONTRIBUTING.md. * yuzu: Update README.md.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor