* New Bloodborne image for README
* Replace P4G with Driveclub
So Atlus doesn't go ham on us just like RPCS3.
* Update README.md
I hope I got the Yakuza game correct
* Downscale Project DIVA image to 720p
So the table scale isn't weird
* Whoops
* Update README.md
* Yakuza image is actually 1280x720
Should fix the misaligning
* Logic update, no QT ui
* Fixing errors
* Gui boxes
* fixes
* prevent device list refreshing too fast when game not running
* Removed duplicate Socket declarations in kernel/file_system.cpp and fs.h
* Fixed clang-format and micDevice errors
* Ran clang-format and fixed rebase compiler issues
* Settings dialog fix
* Addressed squidbus' concerns
* Update config.cpp to adhere to clang-format
* Removed a space causing clang-format to complain
* Addressed squidbus' concerns and added fallbacks
Concerns:
- Changed dev_name construct to remove unnecessary cast
- Added an invalid AudioDeviceID macro to replace magic number
---------
Co-authored-by: rainmakerv2 <30595646+rainmakerv3@users.noreply.github.com>
* Fix: Add libbsd dependency for Linux builds
Adds conditional libbsd support to resolve strlcpy undefined reference
on Linux systems. Includes proper CMake detection and header includes.
* Fix: Use internal strlcpy implementation for Linux
- Extend existing Windows strlcpy implementation to Linux
- Remove libbsd dependency from CMakeLists.txt
- Resolves undefined reference to strlcpy on glibc systems
Uses the project's existing approach instead of adding external dependencies.
* Group game-specific and non-game-specific items in the same tabs
* Fix rebase
* Transfer default settings tab to general, rename some items
* Fix experimental tab contents not filling the tab
* prevent saving game specific value if no valid value provided
* Fix console language saving, add error message if trying to save nullopt
The DB_SHADER_CONTROL register has several enable flags which must be set before certain depth exports are enabled.
This commit adds logic to respect the values in this register when performing depth exports, which fixes the regression in earlier versions of KNACK.
I've also renamed DepthBufferControl to DepthShaderControl, since that's closer to the official name for the register.
* vk_rasterizer: Reorder image query in fast clear elimination
Fixes missing clears when a texture is being cleared using this method but never actually used for rendering purposes by ensuring the texture cache has at least a chance to register cmask
* shader_recompiler: Partial support for ANCILLARY_ENA
* pixel_format: Add number conversion of BC6 srgb format
* texture_cache: Support aliases of 3D and 2D array images
Used be UE to render its post processing LUT
* pixel_format: Test BC6 srgb as unorm
Still not sure what is up with snorm/unorm can be useful to have both actions to compare for now
* video_core: Use attachment feedback layout instead of general if possible
UE games often do mipgen passes where the previous mip of the image being rendered to is bound for reading. This appears to cause corruption issues so use attachment feedback loop extension to ensure correct output
* renderer_vulkan: Improve feedback loop code
* Set proper usage flag for feedback loop usage
* Add dynamic state extension and enable it for color aspect when necessary
* Check if image is bound instead of force_general for better code consistency
* shader_recompiler: More proper depth export implementation
* shader_recompiler: Fix bug in output modifiers
* shader_recompiler: Fix sampling from MSAA images
This is not allowed by any graphics API but seems hardware supports it somehow and it can be encountered. To avoid glitched output translate to to a texelFetch call on sample 0
* clang format
* image: Add back missing code
* shader_recompiler: Better ancillary implementation
Now is implemented with a custom attribute that is constant propagated depending on which parts of it are extracted. It will assert if an unknown part is used or if the attribute itself is not removed by dead code elim
* copy_shader: Ignore not enabled export channels
* constant_propagation: Invalidate ancillary after successful elimination
* spirv: Fix f11/f10 conversion to f32
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* Fix address formatting for invalid address asserts
* Reduce event flag message to trace
This log effectively contributes nothing to debugging.
* Remove excess logging in sceKernelBatchMap
Every one of these opcodes will just log from their individual function calls anyway, and if there were issues with batch map logic, we would've known for a while now.
* Log error return during sceKernelBatchMap
May help with debugging some unstable UE games?
* Use _mm_setcsr over assembly
Exists on all platforms, so might as well use it.
* Clang
* Missing include
* Unconditionally set FPUCW
As per review suggestions.
* Fix FPUCW and MXCSR registers on Windows
For some reason only Microsoft knows, settings these values in the context doesn't work.
Also their controlfp functions don't seem to work either, so I used assembly instead.
* Set MXCSR on all platforms
All three platforms use the same default MXCSR register value. Use an assembly instruction to set this for all platforms.
* Open settings dialog from context menu
* initial version complete
* add context menu item to delete game config if it exists
* Create game config from base value instead of default value
* Require confirmation before deleting game configs with menu item
* fix rebase
* Reset game specific values when creating a new game config
* Add icon for entries with game config
* clang format
* Add submenu for game-specific settings
* Log if game-specific config exists, remove hidden tab from tab selection
* Add other experimental options to game-specific GUI
* clang format
* Add flag to specify if game-specific file needs creation
* refactor: remove additional arguments, reset game-specific status on save instead
* Fix return
* cleanup - remove unneeded load
* Set tab to general if hidden tab is set as default
* Cleanup variable names and strings, default tab fix, volumeslider fix
* cleanup: missed a couple of variables to standardize
* More readable way to reset volume slider
* Remove checks for module version_major and version_minor
Following this rule broke linking for some libraries, and introduced extra effort needed to get some homebrew running.
* Clang
* Fix rebase
* Disable libSceSsl HLE
Real hardware uses a title workaround to determine if base libSceSsl is needed. Currently, this title workaround applies to absolutely nothing.