* Initial devshell creation.
* cmake has a check for clang and therefore override the stdenv.
* Packages from old shell were renamed.
* fixed xcb-util, added libglvnd
* Added sdl3 dependencies provided by the website given on cmake configuration.
* Lock file.
* Nix format.
* Added instructions for entering nix development shell.
.
* Added libuuid
* Added copyright text to flake.nix
* Added flake.lock to REUSE.toml as is a JSON file without comment support.
* Updated instructions to refer to new build name.
* Compiling however not yet correctly linking with debug derivation.
* Hitting installPhase
* Added nix result symlink.
* correctly installs in place
* Added a wrapper to load vulkan and ligl into environment.
* Ensure that the name is applicable to the current project.
.
* Added mesa to LD_LIBRARY_PATH
* game now launching with added X11 libraries.
* Cleanup
Formatting.
Pulled cmakeFlags to top and added releaseWithDebugInfo
Removed LD_LIBRARY_PATH from devshell.
.
* Added options for the different Nix build modes.
* Debug / release mode flag cannot be bundled into one.
* WIP: imgui translations
* fallback to original strings if tables are incomplete
* reorder things a bit
* construct tables as consts
* Update imgui_translations.h
* multiple controllers v2
* the c language formatter tool
* review comments (the easy ones)
* c++ copy semantics
* correct error return for remotes without the system user id
* update pad handle handling logic
* controller override colour
* initial tests for testing Setting<T>
* argg
* keep switch off
* added ci
* fix ci
* merging tests to build.yml
* fixing linux ttests/?
* one more try for ci
* more linux fix for ci
* more ci fixes
* try to fix ctests now
* should fix now
* trying fixing linux tests
* some more tests
* more tests (68 tests) and clang format
* Log filters cleanup
* Clearer dialog options for config update
* Smaller button labels
These don't auto-resize, and I don't want to read SDL's docs for something so small.
* using new emulator_settings
* the default user is now just player one
* transfer install, addon dirs
* fix load custom config issue
* initial openal backend
* linux fix?
* camera module updated
---------
Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
* using new emulator_settings
* the default user is now just player one
* transfer install, addon dirs
* fix load custom config issue
* initial openal backend
* linux fix?
---------
Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
* using new emulator_settings
* the default user is now just player one
* transfer install, addon dirs
* fix load custom config issue
---------
Co-authored-by: kalaposfos13 <153381648+kalaposfos13@users.noreply.github.com>
It's possible we're merging with a later memory area. If that occurred here, we would end up iterating past where we need to be, which then messes up logic.
SDL_SetWindowFullscreen is asynchronous on Windows. Without
SDL_SyncWindow, the window may not have finished transitioning
to borderless fullscreen before the Vulkan surface and swapchain
are created, causing borderless mode to silently fail at startup.
This is most visible with Immediate (No VSync) present mode where
the swapchain is created quickly, but the fix is correct for all
present modes.
SDL3 docs state: "On asynchronous windowing systems, this acts as a
synchronization barrier for pending window state." and SDL_SyncWindow
is listed as the recommended follow-up to SDL_SetWindowFullscreen.
https://wiki.libsdl.org/SDL3/SDL_SyncWindowFixes#3945
* int32-modifiers
GCN VOP3 abs/neg modifier bits always operate on the sign bit (bit 31)
regardless of instruction type. For integer operands this means:
abs = clear bit 31 (x & 0x7FFFFFFF)
neg = toggle bit 31 (x ^ 0x80000000)
* int64-modifiers
Previously GetSrc64<IR::U64> completely ignored input modifiers
for integer operands. Now unpacks to two U32s, modifies the high
dword's bit 31 (= bit 63 of the 64-bit value), and repacks.
* V_MUL_LEGACY_F32
GCN V_MUL_LEGACY_F32: if either source is zero, result is +0.0
regardless of the other operand (even NaN or Inf). Standard IEEE
multiply produces NaN for 0*Inf. The fix adds a zero-check select
before the multiply.
* fallback for IMAGE_STORE_MIP when not natively supported
* Lod should be treated as absolute, independent of sharp's base_level (judging by other implemented instructions)
* fix descriptor set layouts
* dumb error
* force fallback for testing
* treat Lod as relative to base_level
* optimization when lod index is constant
* Test
* More robust logic for storing and freeing dummy data
Anything heap allocated is invalidated when the function returns. Use malloc to allocate the string instead, and make sure to free those allocations in sceSslFreeCaCerts.
* Fix game arguments.
Tested with Crash Team Racing Nitro Fueled
* Fix the fix
This callback runs unconditionally, so only perform erase if we actually place anything in gameArgs
Now that dynamic HLE loads happen after the eboot loads, HLEs for most "preload" modules wouldn't detect if you didn't have libSceRtc dumped. This was because, while we stored all the new symbols from the HLE lib, we weren't relocating loaded modules to use these symbols.
* To implement ImageAtomicCmpSwap
...but it doesn't work, so here it shall stay.
* a fix
* Clang
* Add to MayHaveSideEffects
I missed this while digging through IR code.