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
psucien
e6e3aa0080
Initial instancing and asynchronous compute queues ( #207 )
...
* gnm_driver: added `sceGnmRegisterOwner` and `sceGnmRegisterResource`
* video_out: `sceVideoOutGetDeviceCapabilityInfo` for sdk runtime
* gnm_driver: correct vqid index range
* amdgpu: indirect buffer, release mem and some additional irq modes
* amdgpu: added ASC commands processor
* shader_recompiler: added support for fetch instance id
* amdgpu: classic bitfields for T# representation (debugging experience)
* renderer_vulkan: skip zero sized VBs from binding
* texture_cache: image upload logic moved into `Image` object
* gnm_driver: `sceGnmDingDong` implementation
* texture_cache: `Image` usage flags moved; correct VO buffer pitch
2024-06-22 19:50:20 +03:00
georgemoralis
1eb182dca7
more clang fix
2024-06-22 18:15:42 +03:00
IndecisiveTurtle
f830b08b3f
linker: Set rela bits for all symbol types
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
fc1d1e6f73
shader_recompiler: Even more instructions
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
49834a0cd2
shader_recompiler: Add more instructions
2024-06-22 18:09:03 +03:00
psucien
42353fd939
final touch: assert instead of log crit to crash earlier
2024-06-17 00:42:26 +02:00
psucien
e09b04c492
shader_recompiler: list all missing instructions during translation pass
2024-06-16 23:45:39 +02:00
psucien
5928d74b2e
shader_recompiler: added V_TRUNC VOP1/3 (496)
2024-06-16 23:39:45 +02:00
psucien
079073d4c5
shader_recompiler: pretty print for missing shader instructions
2024-06-16 23:11:36 +02:00
psucien
6c534ffa11
shader_recompiler: added V_MAX VOP2 (431, 433)
2024-06-16 21:34:23 +02:00
psucien
78752b008a
shader_recompiler: correct format for SSBO store op
2024-06-16 21:21:19 +02:00
psucien
9f605c9bbd
shader_recompiler: added MUL_HI VOP2 (896)
2024-06-16 20:39:53 +02:00
psucien
1fb06835b9
shader_recompiler: added SOPK MOVK (45)
2024-06-16 20:26:24 +02:00
TheTurtle
556d88ecb4
core: Many things ( #194 )
...
* video_core: Add a few missed things
* libkernel: More proper memory mapped files
* memory: Fix tessellation buffer mapping
* Cuphead work
* sceKernelPollSema fix
* clang format
* fixed ngs2 lle loading and rtc lib
* draft pthreads keys implementation
* fixed return codes
* return error code if sceKernelLoadStartModule module is invalid
* re-enabled system modules and disable debug in libs.h
* Improve linux support
* fix windows build
* kernel: Rework keys
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-15 14:36:07 +03:00
psucien
b110523d90
recompiler: trivial missing ops (VALU OR and SALU LE, GE) added
2024-06-10 23:49:23 +02:00
TheTurtle
769eb6a9ee
video_core: Preliminary storage image support and more ( #188 )
...
* vk_rasterizer: Clear depth buffer when DB_RENDER_CONTROL says so
* video_core: Preliminary storage image support, more opcodes
* renderer_vulkan: a fix for vertex buffers merging
* renderer_vulkan: a heuristic for blend override when alpha out is masked
---------
Co-authored-by: psucien <bad_cast@protonmail.com>
2024-06-10 22:35:14 +03:00
TheTurtle
718ade970f
video_core: Add depth buffer support and fix some bugs ( #172 )
...
* memory: Avoid crash when alignment is zero
* Also remove unused file
* shader_recompiler: Add more instructions
* Also fix some minor issues with a few existing instructions
* control_flow: Don't emit discard for null exports
* renderer_vulkan: Add depth buffer support
* liverpool: Fix wrong color buffer number type and viewport zscale
* Also add some more formats
2024-06-07 16:26:43 +03:00
raphaelthegreat
6fbd20c2d8
shader: Fix block processing order in dead code elimination pass
2024-06-06 02:46:36 +03:00
raphaelthegreat
fc8e4a1f97
shader_recompiler: Add more instructions and fix a few thinhs
2024-06-05 22:22:34 +03:00
raphaelthegreat
ead6ef58b5
shader_recompiler: Better branch detection + more opcodes
2024-06-02 03:05:40 +03:00
raphaelthegreat
e637f52076
video_core: Moar shader instruction
2024-05-30 18:17:54 +03:00
psucien
e89e84aae2
shader_recompiler: redundant IR opcode removed
2024-05-30 11:50:42 +02:00
psucien
6f4a9dd87b
shader_recompiler: added NOP
and RSQ
instructions
2024-05-30 09:43:49 +02:00
raphaelthegreat
99d20d4119
video_core: Implement basic compute shaders and more instructions
2024-05-30 01:39:24 +03:00
raphaelthegreat
05c4542301
video_core: Address some feedback
2024-05-27 22:13:55 +03:00
raphaelthegreat
8bd9bf1a7d
video_core: Add image support
2024-05-27 18:25:45 +03:00