squidbus
e30255e0d2
vulkan: Disable exceptions for getImageFormatProperties and account for errors. ( #906 )
2024-09-14 17:12:08 +03:00
squidbus
fc90f279e2
vulkan: Limit multisampling to supported sample counts. ( #828 )
2024-09-12 22:59:23 +03:00
baggins183
bc66fe8fb5
Fix copyGpuBuffers when resize invalidates commands in flight ( #876 )
...
* Fix copyGpuBuffers when resize invalidates commands in flight
* Use _MB macro for size constant
2024-09-12 21:54:54 +02:00
psucien
8a76cd888f
hot-fix: mark null image as tracked by default to avoid its updates
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-11 22:39:21 +02:00
Pipi86
1c0dfc60a1
Typo fix ( #820 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* Update pm4_cmds.h
* Update pm4_cmds.h
2024-09-11 13:40:19 +03:00
squidbus
c27d79c2e7
vulkan: Skip draw when primitive type is None. ( #867 )
2024-09-11 08:58:20 +03:00
TheTurtle
b0bbb16aae
video_core: Add fallback path for pipelines with more than 32 bindings ( #837 )
...
* video_core: Small fixes
* renderer_vulkan: Add fallback path for pipelines with more than 32 bindings
* vk_resource_pool: Rewrite desc heap
* work
2024-09-10 20:54:39 +03:00
georgemoralis
3a65052b8e
Merge pull request #851 from shadps4-emu/stabilization/barriers
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
Various barrier fixes
2024-09-10 06:45:15 +03:00
squidbus
411449cd51
Initial support for compiling on ARM64. ( #788 )
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-09 13:23:16 +03:00
psucien
adfb3af95f
hot-fix: nullGpu functionality restored
2024-09-09 08:59:47 +02:00
psucien
1da1946ef5
presentation barriers fixed
2024-09-09 00:10:33 +02:00
psucien
56cc70dc97
fix for image view storage flag handling
2024-09-09 00:09:38 +02:00
Vinicius Rangel
035cb3eeaa
Dear ImGui Implementation ( #598 )
...
* added imgui as dependency
* imgui renderer/basic input implementation
* imgui: add layers system
Add video info layer to show fps. Press F10 to toggle it.
* imgui: add custom imgui config
* imgui: gamepad capture, stopping propagation
* imgui: changed config & log file path to use portable dir
* videoout: render blank frame when video output is closed
required to render imgui even when game has no video output
- fixed merge compile-error
2024-09-08 22:50:32 +03:00
psucien
f1becb2507
hot-fix: linear cubemaps check assert removed (verified)
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-08 14:18:48 +02:00
psucien
047a115b3e
hot-fix: exclude tiling condition from promotion of textures to depth
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-08 11:12:25 +02:00
Blargle
749fe92882
Small fix for EmitQuadToTriangleListIndices ( #831 )
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-07 15:52:48 +03:00
TheTurtle
13743b27fc
shader_recompiler: Implement data share append and consume operations ( #814 )
...
* shader_recompiler: Add more format swap modes
* texture_cache: Handle stencil texture reads
* emulator: Support loading font library
* readme: Add thanks section
* shader_recompiler: Constant buffers as integers
* shader_recompiler: Typed buffers as integers
* shader_recompiler: Separate thread bit scalars
* We can assume guest shader never mixes them with normal sgprs. This helps avoid errors where ssa could view an sgpr write dominating a thread bit read, due to how control flow is structurized, even though its not possible in actual control flow
* shader_recompiler: Implement data append/consume operations
* clang format
* buffer_cache: Simplify invalidation scheme
* video_core: Remove some invalidation remnants
* adjust
2024-09-07 00:14:51 +03:00
baggins183
bb29224daf
Implement V_MOVREL variants ( #745 )
...
* shader_recompiler: Implement V_MOVRELS_B32, V_MOVRELD_B32,
V_MOVRELSD_B32
Generates a ton of OpSelects to hardcode reading or writing from each
possible vgpr depending on the value of m0
Future work is to do range analysis to put an upper bound on m0 and
check fewer registers.
* fix runtime info after rebase
2024-09-06 23:47:47 +03:00
Daniel R.
416e23fe76
Fix incompatible format images being passed on overlap resolve ( #794 )
2024-09-06 20:09:28 +03:00
squidbus
8d1641e4d3
vulkan: Add VK_KHR_format_feature_flags_2 to extensions. ( #803 )
2024-09-06 14:12:29 +03:00
TheTurtle
b08baaeb13
video_core: Improve handling of image buffer aliases ( #757 )
...
* texture_cache: Use invalidate threshhold
* It's possible for shaders to bind huge buffers and only write to lower portion of it. This is a problem if upper parts of the buffer overlap with render targets. If the image is very far away from buffer base it's unlikely the shader will want to write it, so skip invalidation for it
* video_core: Allow using texture cache to validate texture buffers
* texture_cache: Use buffer cache in all cases for data source
* Allows to correctly handle compute written micro tiled textures
* texture_cache: Fix depth pitch
* kernel: Remove missed code
* clang format
* video_core: Adjust depth format
* buffer_cache: Do not cache buffer views
* thread_management: Do not call createMutex on unlock
* temp: Revert this when pr is done
* buffer_cache: Dont skip cpu uploads with image sync
* Sometimes image does not fully overlap with a region
* fix build
* video_core: Improve invalidate heuristic
* small fixes
* video_core: Hopefully fix some vertex explosions
2024-09-05 17:25:45 +03:00
psucien
4e0dc91040
hot-fix: don't skip draws with DS decompression
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
2024-09-05 09:58:51 +02:00
Daniel R.
eb2520a240
video_core/renderer_vulkan: Ignore unsupported shader stages ( #778 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* video_core/renderer_vulkan: Ignore unsupported shader stages
* clang-format
2024-09-05 00:55:06 +03:00
psucien
28feb77982
Surface management rework (3/3) ( #370 )
...
* texture_cache: images overlap support
* renderer_vk: log messages on surfaces which require degamma
* missing barriers
* forced sync2 + better barriers
* Handling of depth target aliasing; added formats compatibility check
* Don't bind empty texel buffers
* Promote r32f textures to depth target if shader expects so
* Promote textures to depth if they use depth tiling
* fix for image leaking; detiler stream buffer removed
2024-09-04 23:47:57 +03:00
squidbus
9eadec849c
misc: Fix a few compiler warnings.
2024-09-03 21:32:19 -07:00
squidbus
b87e6f3838
vulkan: Emulate depth clip control when extension is not available. ( #762 )
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-09-04 01:07:05 +03:00
psucien
34ffd95306
video_core: added VK_LAYER_LUNARG_crash_diagnostic
( #751 )
2024-09-03 21:56:23 +02:00
oltolm
e9ef726185
Fix warnings ( #749 )
...
* suppress warning in vk_mem_alloc.h
* fix warnings in cheats_patches.cpp
2024-09-03 21:41:59 +03:00
squidbus
6012e3cc86
vulkan: Improve format support info for vertex buffer formats. ( #753 )
2024-09-03 21:08:29 +03:00
TheTurtle
f087f43736
shader_recompiler: Implement render target swizzles when no format is available ( #739 )
...
* shader_recompiler: Use null image when shader is compiled with unbound sharp
* video_core: Refactor and render target swizzles
* liverpool_to_vk: Add missing swap format from RDR
* video_core: Refactor shader recompiler interface
* Makes it much easier to pass runtime information to the recompiler and have it treated as part of the shader key. Also pulls out most runtime state from Info struct
* shader_recompiler: Avoid some asserts
2024-09-03 14:04:30 +03:00
baggins183
3f8a8d3a24
video_core: Add bounds checking for subspan use in liverpool functions ( #717 )
2024-09-03 13:58:45 +03:00
squidbus
af107d4ef9
vulkan: Better support for directly linking a Vulkan support library.
2024-09-03 01:40:51 -07:00
Paris Oplopoios
f514fdfd18
Replace recursive_mutex with mutex ( #708 )
...
* Replace recursive_mutex with mutex
* Move mutex lock outside of ObtainBuffer
2024-09-01 22:20:22 +03:00
Emulator-Team-2
e4d8857eb5
Adding missing data format - (1_5_5_5) ( #701 )
...
* added data_format=17 and num_format=0
* Set `sceSaveDataDialogIsReadyToDisplay` temporary to 1 until is properly implemented.
2024-09-01 21:49:01 +03:00
psucien
4182740384
Don't load sync2
ext if nv_checkpoints
isn't used
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-08-31 00:10:47 +02:00
psucien
ca1613258f
video_core: added support for indirect draws ( #678 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* video_core: added support for indirect draws
* barriers simplified
2024-08-30 22:59:56 +02:00
jnack
69d4fecdfe
Allow graphics/compute shader list for skipping ( #674 )
...
* Allow graphics/compute shader list for skipping
* nintendo ultra 64 + formatting
* indentation..
* allow empty array in ShouldSkipShader
* simpler check for skip hashes
2024-08-30 21:51:20 +03:00
squidbus
6080066f75
vulkan: Few fixes for MoltenVK ( #670 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* vulkan: Use SPIR-V 1.5 when Vulkan version is 1.2
* vulkan: Fix Format2_10_10_10 mismap
2024-08-30 16:40:39 +03:00
adjonesey
0f87d1e3d4
Remove from_compute check in texture cache invalidation ( #665 )
...
* Remove from_compute check in texture cache invalidation (hack)
* Remove from_compute parameter
---------
Co-authored-by: Adam Jones <a.c.jones@outlook.com>
2024-08-30 13:01:59 +03:00
IndecisiveTurtle
6bf42aa985
vk_graphics_pipeline: Fix texel buffer offset
2024-08-30 01:09:39 +03:00
IndecisiveTurtle
cb5190e31a
vk_graphics_pipeline: Fix copy paste error
2024-08-30 00:59:12 +03:00
IndecisiveTurtle
cf706f8cc7
buffer: Don't leak texel buffers, blacklist stream buffer with texel buffers
2024-08-30 00:26:08 +03:00
TheTurtle
66e96dd944
video_core: Account of runtime state changes when compiling shaders ( #575 )
...
* video_core: Compile shader permutations
* spirv: Only specific storage image format for atomics
* ir: Avoid cube coord patching for storage image
* spirv: Fix default attributes
* data_share: Add more instructions
* video_core: Query storage flag with runtime state
* kernel: Use std::list for semaphore
* video_core: Use texture buffers for untyped format load/store
* buffer_cache: Limit view usage
* vk_pipeline_cache: Fix invalid iterator
* image_view: Reduce log spam when alpha=1 in storage swizzle
* video_core: More features and proper spirv feature detection
* video_core: Attempt no2 for specialization
* spirv: Remove conflict
* vk_shader_cache: Small cleanup
2024-08-29 19:29:54 +03:00
psucien
9d349a1308
video_core: added support for indirect dispatches (gfx only)
2024-08-29 12:32:37 +02:00
Emulator-Team-2
af18728962
clang-format fix
2024-08-28 18:45:32 +02:00
Emulator-Team-2
6f938a10ce
added data_format=3 and num_format=4
2024-08-28 18:12:59 +02:00
Emulator-Team-2
08036d2b49
added data_format=36 and num_format=9
2024-08-28 18:10:23 +02:00
georgemoralis
be49871c68
Merge pull request #618 from vertver/main
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
video_core: Added copyGPUCmdBuffers option
2024-08-28 14:00:26 +03:00
Vinicius Rangel
8192eaa668
video_core: re-enable culling ( #551 )
2024-08-28 13:11:55 +03:00
Anton Kovalev
dfb30ea955
Use pair of spans instead of references in copy command buffers function
2024-08-28 11:24:15 +02:00