TheTurtle
e91da052c3
video_core: Minor fixes ( #366 )
...
* data_share: Fix DS instruction
* vk_graphics_pipeline: Fix unnecessary invalidate
* spirv: Remove subgroup id
* vector_alu: Simplify mbcnt pattern
* shader_recompiler: More instructions
* clang format
* kernel: Fix cond memory leak and reduce spam
* liverpool: Print error on exception
* build fix
2024-08-05 13:45:28 +03:00
TheTurtle
bfc845324c
shader_recompiler: Small instruction parsing refactor/bugfixes ( #340 )
...
* translator: Implemtn f32 to f16 convert
* shader_recompiler: Add bit instructions
* shader_recompiler: More data share instructions
* shader_recompiler: Remove exec contexts, fix S_MOV_B64
* shader_recompiler: Split instruction parsing into categories
* shader_recompiler: Better BFS search
* shader_recompiler: Constant propagation pass for cmp_class_f32
* shader_recompiler: Partial readfirstlane implementation
* shader_recompiler: Stub readlane/writelane only for non-compute
* hack: Fix swizzle on RDR
* Will properly fix this when merging this
* clang format
* address_space: Bump user area size to full
* shader_recompiler: V_INTERP_MOV_F32
* Should work the same as spirv will emit flat decoration on demand
* kernel: Add MAP_OP_MAP_FLEXIBLE
* image_view: Attempt to apply storage swizzle on format
* vk_scheduler: Barrier attachments on renderpass end
* clang format
* liverpool: cs state backup
* shader_recompiler: More instructions and formats
* vector_alu: Proper V_MBCNT_U32_B32
* shader_recompiler: Port some dark souls things
* file_system: Implement sceKernelRename
* more formats
* clang format
* resource_tracking_pass: Back to assert
* translate: Tracedata
* kernel: Remove tracy lock
* Solves random crashes in Dark Souls
* code: Review comments
2024-07-30 23:32:40 +02:00
DanielSvoboda
f751f7cc09
log improvement ThrowInvalidType ( #330 )
...
* log improvement ThrowInvalidType
* log improvement ThrowInvalidType
2024-07-28 18:42:54 +03:00
Vinicius Rangel
9d8cbdc507
64 bits OP, impl V_ADDC_U32 & V_MAD_U64_U32 ( #310 )
...
* impl V_ADDC_U32 & V_MAD_U64_U32
* shader recompiler: add 64 bits version to get register / GetSrc
* fix V_ADDC_U32 carry
* shader recompiler: removed automatic conversion to force_flt in GetSRc
* shader recompiler: auto cast between u32 and u64 during ssa pass
* shader recompiler: fix SetVectorReg64 & standardize switches-case
* shader translate: fix overflow detection in V_ADD_I32
use vcc lo instead of vcc thread bit
* shader recompiler: more 64-bit work
- removed bit_size parameter from Get[Scalar/Vector]Register
- add BitwiseOr64
- add SetDst64 as a replacement for SetScalarReg64 & SetVectorReg64
- add GetSrc64 for 64-bit value
* shader recompiler: add V_MAD_U64_U32 vcc output
- add V_MAD_U64_U32 vcc output
- ILessThan for 64-bits
* shader recompiler: removed unnecessary changes & missing consts
* shader_recompiler: Add s64 type in constant propagation
2024-07-27 17:23:59 +03:00
DanielSvoboda
88cd3172ff
BUFFER_STORE_DWORDX2
2024-07-26 00:25:29 -03:00
TheTurtle
0c96f2a030
memory: Cleanups and refactors ( #324 )
...
* memory: Various fixes
* Added (Partial) sceKernelBatchMap/sceKernelBatchMap2
* memory: Rename and implement batch unmap
* memory: Remove uneeded assert
* memory: Commonize free search routine
* memory: Contains check is inclusive
* memory: Address some alignment issues
* clang format
---------
Co-authored-by: raziel1000 <ckraziel@gmail.com>
2024-07-25 23:01:12 +03:00
squidbus
38398a2175
Fix one-off bug with user data registers.
2024-07-21 22:36:12 +03:00
squidbus
d42a32bbd8
Add initial macOS support.
2024-07-21 22:36:12 +03:00
psucien
2b31ab1e71
Surface management rework (1/3) ( #307 )
...
* amdgpu: proper CB and DB sizes calculation; minor refactoring
* texture_cache: separate file for image_info
* texture_cache: image guest address moved into image info
* texture_cache: surface size calculation
* shader_recompiler: fixed sin/cos
Thanks to red_pring and gandalfthewhite0173
* initial preparations for subresources upload
* review comments
2024-07-20 12:51:21 +03:00
TheTurtle
e70ce517cc
spirv: Address some regressions in buffer loads ( #304 )
...
* spirv: Use correct index
* spirv: Fix indices during buffer load
* clang-format fix
* spirv: Index can be const
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-07-19 19:36:07 +03:00
Vladislav Mikhalin
6c7825f31f
Fixed buffer_store_* regression ( #302 )
2024-07-18 21:04:12 +03:00
georgemoralis
9f1251b643
clang format fix
2024-07-17 17:57:54 +03:00
IndecisiveTurtle
70e74160d7
shader_recompiler: Normal gathers
2024-07-17 16:49:45 +03:00
Vladislav Mikhalin
f1d1af2dba
Implemented load_buffer_format_* conversions ( #295 )
...
* Implemented load_buffer_format_* conversions
* clang-format insists on ugly things
2024-07-16 15:03:07 +03:00
georgemoralis
6202c21106
Merge pull request #293 from shadps4-emu/misc-fixes3
...
Various linux fixes
2024-07-15 15:25:20 +03:00
georgemoralis
909fcb5b75
clang format fix
2024-07-15 14:18:28 +03:00
IndecisiveTurtle
01f26998f8
ssa_rewrite_pass: Correct phi node type for thread bitmask
2024-07-15 13:34:34 +03:00
georgemoralis
9a7a508b80
Merge pull request #287 from polybiusproxy/dev
...
gnmdriver: Implement shader functions
2024-07-15 07:47:33 +03:00
IndecisiveTurtle
d4e95f7bd3
clang format
2024-07-15 03:47:10 +03:00
psucien
77d0535f9f
review comments applied
2024-07-14 23:25:41 +02:00
georgemoralis
8435322d6a
Merge pull request #292 from shadps4-emu/games/00144
...
Missing graphics features for flOw & Flower
2024-07-14 23:07:46 +03:00
psucien
b684893aa8
recompiler: added support for discard on export with masked EXEC
2024-07-13 14:57:01 +02:00
Daniel R
ba8ae239f8
shader_recompiler/frontend: Implement opcodes ( #289 )
...
`S_ASHR_I32` and `BUFFER_LOAD_DWORD`.
2024-07-13 12:37:25 +03:00
psucien
c068adda48
recompiler: proper VS inputs initialization
2024-07-13 01:00:24 +02:00
Vladislav Mikhalin
9b06e9ab64
Fixed an issue with number of components of shader attributes
2024-07-11 16:10:23 +03:00
Vinicius Rangel
7dad151f98
impl V_CMP_CLASS_F32 common filter masks ( #276 )
2024-07-10 02:24:01 +03:00
DanielSvoboda
33c78854e2
add V_MAD_U32_U24 ( #262 )
...
* V_MAD_U32_U24
* adjust V_MAD_I32_I24 for bit extraction
* optional bit extraction parameter
* Update vector_alu.cpp
* clang-format
* Update src/shader_recompiler/frontend/translate/vector_alu.cpp
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
* Update vector_alu.cpp
* Update translate.h
---------
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-07-09 01:35:01 +03:00
Stolas
f9fd1e1dae
Added Legacy Min/Max ops ( #266 )
...
* Forwarding V_MAX_LEGACY_F32 to V_MAX3_F32. Fixes Translation error in Geometry Wars 3.
* Forwarded to correct op
* Implemented Legacy Max/Min using NMax/NMin
* Added extra argument to Min/Max op codes
* Removed extra translator functions, replaced with bool
* Formatting
2024-07-08 12:24:12 +03:00
psucien
a25872031c
renderer: a bit more formats to support
2024-07-07 14:34:36 +02:00
psucien
5836a31d76
recompiler: switch instance data to storage buffers
2024-07-07 13:08:39 +02:00
psucien
9d9ebe7a30
recompiler: fix for gather4 components return
2024-07-07 13:00:52 +02:00
psucien
317838122d
renderer: added support for instance step rates
2024-07-06 18:03:43 +02:00
TheTurtle
60c63da3fd
shader_recompiler: Check usage before enabling capabilities ( #245 )
...
* vk_instance: Better feature check
* shader_recompiler: Make most features optional
* vk_instance: Bump extension vector size
* resource_tracking_pass: Perform BFS for sharp tracking
* The Witness triggered this
2024-07-06 02:42:16 +03:00
psucien
5317c45029
Recompiler: sampler patching ( #236 )
...
* recompiler: restored bfs in image instruction producers search
* recompiler: added pattern check for s# anisotropy modification
* added check if s# comes from constant load (e.g. EUD)
2024-07-05 00:15:57 +03:00
TheTurtle
d9873e30bc
shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store ( #231 )
...
* shader_recompiler: Add LDEXP
* shader_recompiler: Add most image integer atomic ops
* shader_recompiler: Implement shared memory load/store
* shader_recompiler: More image atomics
* externals: Update sirit
* clang format
* cmake: Add missing files
* shader_recompiler: Fix some atomic bugs
* shader_recompiler: Vs outputs
* shader_recompiler: Shared mem has side-effects, fix format component order
* shader_recompiler: Inline constant buffer impl
* video_core: Fix regressions
* Work
* Fixup a few things
2024-07-05 00:15:44 +03:00
georgemoralis
ec0afbd63c
clang format fix
2024-07-01 23:48:30 +03:00
IndecisiveTurtle
b72115bed4
shader_recompiler: More instructions
2024-07-01 22:42:45 +03:00
IndecisiveTurtle
0a900115e8
video_core: Fix some regressions
2024-07-01 18:26:22 +03:00
IndecisiveTurtle
4ec742281d
clang format
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
028e28e231
shader_recompiler: Apply buffer swizzle on vertex attribs
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
1fba40369d
renderer_vulkan: Prefer depth stencil read-only layout when possible
...
* Persona reads a depth attachment while it is being attached with writes disabled. Now this works without spamming vk validation errors
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
69797f4d5d
video_core: Track renderpass scopes properly
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
73c2697ed1
video_core: Fix a few problems
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
333e5ab85f
spirv: Add fragdepth and implement image query
2024-07-01 13:56:14 +03:00
psucien
6adcd905b6
shader_recompiler: a simple bfs in image arg producer search
2024-06-30 01:21:39 +03:00
psucien
33939eb470
Metadata support ( #223 )
...
* texture_cache: more image usage flags
* texture_cache: metadata registration
* renderer_vulkan: initial CMask support
* renderer_vulkan: skip redundant FCE and FMask decompression passes
* renderer_vulkan: redundant VO surface registration removed
* renderer_vulkan: initial HTile support
* renderer_vulkan: added support for MSAA attachments
* renderer_vulkan: skip unnecessary metadata updates
2024-06-29 16:49:59 +03:00
georgemoralis
0845d8f250
Stabilization8 ( #218 )
...
* disable configured flexible memory size (caused issues in some games)
* fixed case S_OR_B64 for blazing chrome
* submodules updates and fixes for latest SDL
* stubbed _sigprocmask (not handled and spams too much)
* added ReplaceOp case in Stencilop
* dummy ajm module added
2024-06-27 16:37:17 +03:00
IndecisiveTurtle
c5f2368e52
kernel: Const correctness
2024-06-26 18:24:06 +03:00
IndecisiveTurtle
4595a4cfb2
translator: Merge ANDN2 with AND and impl ORN2
2024-06-26 18:16:01 +03:00
IndecisiveTurtle
ee50cbdcb6
shader_recompiler: More instructions and fix for swords of ditto
2024-06-26 18:03:09 +03:00