IndecisiveTurtle
de2d5ecc29
shader_recompiler: Port some dark souls things
2024-07-30 19:48:04 +03:00
IndecisiveTurtle
5e35a30607
vector_alu: Proper V_MBCNT_U32_B32
2024-07-30 19:43:05 +03:00
IndecisiveTurtle
d5383c8c34
shader_recompiler: More instructions and formats
2024-07-30 19:12:08 +03:00
IndecisiveTurtle
c737ba7375
liverpool: cs state backup
2024-07-30 16:26:05 +03:00
IndecisiveTurtle
622cdafd09
clang format
2024-07-30 13:09:55 +03:00
IndecisiveTurtle
e41281cb4a
image_view: Attempt to apply storage swizzle on format
2024-07-30 12:39:24 +03:00
IndecisiveTurtle
777c53b8a3
shader_recompiler: V_INTERP_MOV_F32
...
* Should work the same as spirv will emit flat decoration on demand
2024-07-30 03:39:16 +03:00
IndecisiveTurtle
27a22a1b69
clang format
2024-07-30 02:25:29 +03:00
IndecisiveTurtle
9ca91a1f15
shader_recompiler: Stub readlane/writelane only for non-compute
2024-07-30 02:10:00 +03:00
IndecisiveTurtle
f81e30e0e1
shader_recompiler: Partial readfirstlane implementation
2024-07-30 00:54:48 +03:00
IndecisiveTurtle
45db60dfd4
shader_recompiler: Constant propagation pass for cmp_class_f32
2024-07-30 00:48:41 +03:00
IndecisiveTurtle
7044cbcc99
shader_recompiler: Better BFS search
2024-07-30 00:29:56 +03:00
IndecisiveTurtle
1638169bed
shader_recompiler: Split instruction parsing into categories
2024-07-29 22:18:08 +03:00
IndecisiveTurtle
d9125b4397
shader_recompiler: Remove exec contexts, fix S_MOV_B64
2024-07-29 19:14:07 +03:00
IndecisiveTurtle
df02bbeef0
shader_recompiler: More data share instructions
2024-07-29 19:11:41 +03:00
IndecisiveTurtle
7d494b88a6
shader_recompiler: Add bit instructions
2024-07-29 19:08:43 +03:00
IndecisiveTurtle
32fd1991f7
translator: Implemtn f32 to f16 convert
2024-07-29 18:57:54 +03:00
DanielSvoboda
fb145342ce
log improvement ThrowInvalidType ( #330 )
...
* log improvement ThrowInvalidType
* log improvement ThrowInvalidType
2024-07-28 18:42:54 +03:00
Vinicius Rangel
680192a0c4
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
b2ba84aa11
BUFFER_STORE_DWORDX2
2024-07-26 00:25:29 -03:00
TheTurtle
a2cd1669b6
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
6a6d5bad42
Fix one-off bug with user data registers.
2024-07-21 22:36:12 +03:00
squidbus
66fa29059c
Add initial macOS support.
2024-07-21 22:36:12 +03:00
psucien
64459f1a76
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
bfe3322977
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
d0d7ef06e8
Fixed buffer_store_* regression ( #302 )
2024-07-18 21:04:12 +03:00
georgemoralis
439c0be9a6
clang format fix
2024-07-17 17:57:54 +03:00
IndecisiveTurtle
cd009cfec6
shader_recompiler: Normal gathers
2024-07-17 16:49:45 +03:00
Vladislav Mikhalin
f9e96793cc
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
0de914995f
Merge pull request #293 from shadps4-emu/misc-fixes3
...
Various linux fixes
2024-07-15 15:25:20 +03:00
georgemoralis
ba0be91c73
clang format fix
2024-07-15 14:18:28 +03:00
IndecisiveTurtle
58d1cbd9b7
ssa_rewrite_pass: Correct phi node type for thread bitmask
2024-07-15 13:34:34 +03:00
georgemoralis
c49afb4c17
Merge pull request #287 from polybiusproxy/dev
...
gnmdriver: Implement shader functions
2024-07-15 07:47:33 +03:00
IndecisiveTurtle
ce6a01bd41
clang format
2024-07-15 03:47:10 +03:00
psucien
ed37fb32a7
review comments applied
2024-07-14 23:25:41 +02:00
georgemoralis
b4df90d8e4
Merge pull request #292 from shadps4-emu/games/00144
...
Missing graphics features for flOw & Flower
2024-07-14 23:07:46 +03:00
psucien
f041276b04
recompiler: added support for discard on export with masked EXEC
2024-07-13 14:57:01 +02:00
Daniel R
83c8204d23
shader_recompiler/frontend: Implement opcodes ( #289 )
...
`S_ASHR_I32` and `BUFFER_LOAD_DWORD`.
2024-07-13 12:37:25 +03:00
psucien
1b94f07a6a
recompiler: proper VS inputs initialization
2024-07-13 01:00:24 +02:00
Vladislav Mikhalin
262bf3d337
Fixed an issue with number of components of shader attributes
2024-07-11 16:10:23 +03:00
Vinicius Rangel
94d1a6b0b9
impl V_CMP_CLASS_F32 common filter masks ( #276 )
2024-07-10 02:24:01 +03:00
DanielSvoboda
63b0465a33
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
2620919f0b
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
6dbb842bec
renderer: a bit more formats to support
2024-07-07 14:34:36 +02:00
psucien
19c85c78cf
recompiler: switch instance data to storage buffers
2024-07-07 13:08:39 +02:00
psucien
bf4bf4ccb2
recompiler: fix for gather4 components return
2024-07-07 13:00:52 +02:00
psucien
cfbe8b9e6d
renderer: added support for instance step rates
2024-07-06 18:03:43 +02:00
TheTurtle
38080b60af
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
dd97b517f7
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
6ceab6dfac
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