You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tree:
ac0395fde5
2ndAdjustmentVulkanV3-STOP_FORCE_PUSHING_CAMILLE
2ndAdjustmentVulkanv2
2ndgpuopts
John-android-rescale-toggle
TTYD
Update-some-barriers-test
android-meows
bcn-ternary-soft
bioshock
blit-fixes
bump-httplib-minver
camile/wawawawa
civa
crueter-patch-1
crueter-patch-3
crueter-patch-4
descriptor_set
dmnt2
dynamic-rendering-2
dynarmic
dynarmic-ppc64
eden-managarm
eden-orbis-ps4
eden-wasm
feat/android_kotlin_compose
feat/game_override
fifa-lemon
fix-cpmutil-win
fix-friend-list-freeze
fix-grid-autoalign
fix-update-android
flatopsfixes23485
fs-try
funny-meows
kosmickrisp
liz-heaptrack-fix
lizzie/1st-anniversary-icon
lizzie/adjust-stream-buffer
lizzie/adl-fix-remove
lizzie/anv-cached-mesa-hack
lizzie/app-language
lizzie/areafixnvidia
lizzie/astc-decode-opts1
lizzie/better-mscxr
lizzie/brunofix7546847
lizzie/build-template-m1
lizzie/bump-18-version-cache
lizzie/clang24-sirit-jwt
lizzie/cleanup-dynarmic-cmake
lizzie/cpp20-barriers-and-bit
lizzie/debug-assert-demote-dynarmic
lizzie/do-not-renumerate
lizzie/docs-lz12
lizzie/dynarmic-abort-path-12
lizzie/dynarmic-exclusive-fixups
lizzie/eh-signed
lizzie/emulate-bgr565-android-only
lizzie/enable-airplane-mode-by-default
lizzie/enable-icf
lizzie/fbsd-shm_create_largepage
lizzie/ffmpeg-fix-externel
lizzie/fix-nvmap-handles
lizzie/fxaa-123
lizzie/hbloader-fix
lizzie/hle-rework-1
lizzie/inline-audio-structure-parent-refs
lizzie/inlinecodecnvenc
lizzie/invert-gyro
lizzie/ios-port-sud
lizzie/jamboree-audio-crash
lizzie/joycon-revision
lizzie/lto-fafaf-test-123
lizzie/macos-network-ifaces
lizzie/make-directory-cmake
lizzie/marknocore
lizzie/memcorrupt-afuzz1
lizzie/mlibc-fixes
lizzie/mlp223
lizzie/nce-invalidate-split
lizzie/netbsdgcc14-fix
lizzie/noexcept-dynarmic
lizzie/non-english-policy
lizzie/nuke-cubeb-2
lizzie/nuke-oboe
lizzie/nuke-ssl
lizzie/opus-regr-not-rep
lizzie/pixelphonefix
lizzie/pkza-mwait
lizzie/powerunswizzle
lizzie/product-model-wawa
lizzie/ptable-revert-1212
lizzie/rdynr
lizzie/redundant-cpool-ops
lizzie/refactor-networking-12
lizzie/rem-fs-reimpls
lizzie/remove-concepts-common-hdr
lizzie/remove-disassembler-dynarmic
lizzie/remove-memcpy-on-vector
lizzie/remove-redundant-config-dynarmic
lizzie/remove-vector-math-unused
lizzie/revert-opt-pagetable-djgdjgdfjg
lizzie/rv64-cross-comp-fixes
lizzie/sd-gamemode-fix-queue
lizzie/sdl-nuke-SDL_Vibration-thread
lizzie/settings-preserve-across
lizzie/simplify-invalid-acc
lizzie/sleep-on-128bit-swap
lizzie/sm3sm4-tests
lizzie/smallvector-use-on-ipc
lizzie/sparse-vectoriz
lizzie/ssaa-what-the-fuck
lizzie/stable-shader-pools
lizzie/swkbd-mhu
lizzie/thread-names-log
lizzie/trivial-warn-fixes-4
lizzie/tryfixrandomvkshit
lizzie/ulaunch-attempt1
lizzie/unaligned-attempt-2
lizzie/usepoolinstdynarm
lizzie/vk-ext-fault-info
lizzie/vkweep12
lizzie/vp9-remove-stream
lizzie/wstring-uni-123
lizzie/xcode-evil-shit-123
lizzie/zbic-patch-zstd
lsfg-android
macroify-surface-stuffs
master
memory_changes
mmap-fixews
mutliplayer-filter-better1
n64
nier-fix
pr-template-v2
querybugfix
release/0.0.3
release/0.0.4
release/0.1.0
release/0.2.0
restore-metal-surface
sjkdbsdfjkbsdf-2834
temporary-branch
tiled-gpu
tiled-gpu-v2
unified-memory-access
update-deps-1780370490
update-deps-1780370770
update-translations-1777730513
update-translations-1788192077
vk-experiments5
vk-experiments7
vk-experiments8
xbzk/fragmented-storage-buffers
xbzk/hb-tico-support-part-2
xbzk/keys-needed-error-log
xbzk/opus-proper-limit-and-error
xbzk/pavel-zbic-addendum
xbzk/runtime-tls-patch-optimization
xbzk/unreal-unsafe-junk-guards
0.0.0
0.0.1-pre-alpha
0.0.2-pre-alpha
test-tag1
test-tag2
v0.0.3
v0.0.3-rc1
v0.0.3-rc2
v0.0.3-rc3
v0.0.3.git
v0.0.4
v0.0.4-rc1
v0.0.4-rc2
v0.0.4-rc2.test
v0.0.4-rc2.test2
v0.0.4-rc3
v0.0.4-rc3.test1
v0.0.4-rc3.test2
v0.0.4.test
v0.1.0
v0.1.0-rc1
v0.1.1
v0.2.0
v0.2.0-rc1
v0.2.0-rc2
v0.2.1
${ noResults }
This pr aims to make a first step into giving Eden's Vulkan backend maintenance with better formatting, understanding and reduce the redundancy between some wrong implementations: -> ProvokingVertex: Has been reworked completely, now the wiring to ExtendedDynamicState3 (ProvokingVertexMode) it works safe, the gating of the extension no longer requires user enabling on UI, it will be enabled automatically based on what features of the extension are available on driver, depending if first or last mode are available and also will be properly set under TrasformFeedback operations; this way we're gonna ensure all drivers, including Android stock drivers on QCOM, Mali and other mobile vendors drivers access correctly to the extension, fixing some graphical issues (flickering textures or wrong sccisors on vertex that required first mode) generated by the missing first mode handling or the proper clearing on pipeline state. This change will increase/ decrease slightly the performance on some games that changes dynamically between first and last modes, but will also ensure a clear path to GPU to use resources smartly, reducing VRAM consumption in PC and MEM/GPU percentage of use on Android (marginal to 5 - 8% approx). -> Removal VK_EXT_multi_draw: It has passed some months since the first try to implement this feature, but wasn't completed so functionality was null to negative, taking space in source and using small CPU cicles for initialization during device creation that reduced CPU effectiveness by 2 - 5%, aside that, after reviewing the situation of formally introducing handling for multidraws to reduce the floods of constants draw calls into 1 per batch, seems to not pay the overhead when the multidraw capacity is less or equal to 1, aside that, for the time being batching multidraws will introduce indirections on each batch of command draws, that graphical issues will appear and reducing performance can happen, something it was gonna solve. For the time being it's discarded, but, may be analyzed the chance to introduce it properly in a later date. -> Removal VK_EXT_indexing_descriptor: Currently the implementation of this feature was partial, with not proper handling on layouts; just the initial checks on device creation and chained up to the pNext feature, currently this extension will require a buffer cache and texture cache rework to set layouts and reduce the amount of use of descriptor into making it a less expensive cost effective, aside that to generate a path for the Bindless Texture and Bindless Buffer, allowing to track state of textures in runtime and ensuring the state of some compiled shaders doesn't change if it's no needed, among other benefits, besides that, enabling this feature was only generating innecessary checks on GPU, so consumption would be higher than it should be. -> Removal of VK_EXT_swapchain_maintenance1: The use of this feature was really conditional to certain support on newer drivers and cards, which wasn't available for all platforms, I concluded that if the support for this instance wasn't really there, the cost effective between the try to initialize it and running it, won't be good as when it didn't exist on our Vulkan device, with also the constant factor of not being completely implemented, right now I'm aiming to reduce the complexity on Vulkan side to keep it as simple as it could for a future video_core rework, which may start somewhere these weeks. -> Refined the Maintenance features: Meawhile this features are usually inherent to Vulkan core functionality, sometimes drivers doesn't expose them well, which leads to Eden run Vulkan without really noticing the existence of maintenance features on driver to improve stability, so we're tied to declare them and load them when a device creation starts by asking if driver supports and which, currently 1 - 5 are core maintenance features, meanwhile the 7 - 9 are more experimental and not being available everywhere, so right now to help drivers give attention to this features we not only load them, but also calculate with features bits which features inside Maintenance5 are available to use, that was the initial purpose, but we weren't using the full potential of the extension; I made cleaned part of the unneeded log code for the initialization of this Maintenance5 and it's feature flags, but also making an operation to sanitize depth/ stencil when One is not available in swizzle operations, making it easier to draw it; it's also needed to mention that Maintenance9 was removed from source code until we can have better handling on Arrays2D, aside that, the use of the extension was really conditional to certain drivers being capable of use it, so I remove it. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3839 Co-authored-by: CamilleLaVey <camillelavey99@gmail.com> Co-committed-by: CamilleLaVey <camillelavey99@gmail.com> |
6 months ago | |
|---|---|---|
| .. | ||
| app | [vulkan] 1st Vulkan Global Maintenance (#3839) | 6 months ago |
| gradle/wrapper | android: Update various deps | 2 years ago |
| .gitignore | gl_staging_buffer_pool: Refactor allocation variables into a struct | 3 years ago |
| build.gradle.kts | android: Update various deps | 2 years ago |
| gradle.properties | [chore] Fixed a couple memory leaks using up ~15 MB each iteration (#398) | 10 months ago |
| gradlew | android: Various fixes for CI. | 3 years ago |
| gradlew.bat | android: Various fixes for CI. | 3 years ago |
| settings.gradle.kts | [android] Properly set Root of the Project (#3177) | 10 months ago |