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
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
TheTurtle
22b7ae4b63
video_core: Add constant buffer support ( #147 )
2024-05-26 15:51:35 +03:00
TheTurtle
0aa04c60cb
video_core: Bringup some basic functionality ( #145 )
...
* video_core: Remove hack in rasterizer
* The hack was to skip the first draw as the display buffer had not been created yet and the texture cache couldn't create one itself. With this patch it now can, using the color buffer parameters from registers
* shader_recompiler: Implement attribute loads/stores
* video_core: Add basic vertex, index buffer handling and pipeline caching
* externals: Make xxhash lowercase
2024-05-25 15:33:15 +03:00
TheTurtle
4380066a90
video: Import new shader recompiler + display a triangle ( #142 )
2024-05-22 01:35:12 +03:00