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
georgemoralis
afba6dbd66
clang format fix
2024-07-01 23:48:30 +03:00
IndecisiveTurtle
a603bc7d88
shader_recompiler: More instructions
2024-07-01 22:42:45 +03:00
IndecisiveTurtle
7d4f0da40e
video_core: Fix some regressions
2024-07-01 18:26:22 +03:00
IndecisiveTurtle
20e83b4d53
clang format
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
6774216038
shader_recompiler: Apply buffer swizzle on vertex attribs
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
b4d24d8737
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
22b930ba5e
video_core: Track renderpass scopes properly
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
ad10020836
video_core: Fix a few problems
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
5da79d4798
spirv: Add fragdepth and implement image query
2024-07-01 13:56:14 +03:00
psucien
cc945fb92e
shader_recompiler: a simple bfs in image arg producer search
2024-06-30 01:21:39 +03:00
psucien
2cbbcbd371
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
0ada442cbc
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
c8ed338d5a
kernel: Const correctness
2024-06-26 18:24:06 +03:00
IndecisiveTurtle
c081663aac
translator: Merge ANDN2 with AND and impl ORN2
2024-06-26 18:16:01 +03:00
IndecisiveTurtle
4846704832
shader_recompiler: More instructions and fix for swords of ditto
2024-06-26 18:03:09 +03:00
psucien
cb6b21de1f
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
32225f4a8b
more clang fix
2024-06-22 18:15:42 +03:00
IndecisiveTurtle
73d60b7e8d
linker: Set rela bits for all symbol types
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
741427040f
shader_recompiler: Even more instructions
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
8850c2f4be
shader_recompiler: Add more instructions
2024-06-22 18:09:03 +03:00
psucien
5595da0a24
final touch: assert instead of log crit to crash earlier
2024-06-17 00:42:26 +02:00
psucien
0c32ea242b
shader_recompiler: list all missing instructions during translation pass
2024-06-16 23:45:39 +02:00
psucien
396812bab6
shader_recompiler: added V_TRUNC VOP1/3 (496)
2024-06-16 23:39:45 +02:00
psucien
d3ab612bdc
shader_recompiler: pretty print for missing shader instructions
2024-06-16 23:11:36 +02:00
psucien
d054c3e0ad
shader_recompiler: added V_MAX VOP2 (431, 433)
2024-06-16 21:34:23 +02:00
psucien
be67fdc9c9
shader_recompiler: correct format for SSBO store op
2024-06-16 21:21:19 +02:00
psucien
54f8616d6a
shader_recompiler: added MUL_HI VOP2 (896)
2024-06-16 20:39:53 +02:00
psucien
1fc86a6c9d
shader_recompiler: added SOPK MOVK (45)
2024-06-16 20:26:24 +02:00
TheTurtle
c5d1d579b1
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
cb2cf7d93c
recompiler: trivial missing ops (VALU OR and SALU LE, GE) added
2024-06-10 23:49:23 +02:00
TheTurtle
7b1a317b09
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
998d046210
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
5aa3a4d4a0
shader: Fix block processing order in dead code elimination pass
2024-06-06 02:46:36 +03:00
raphaelthegreat
ae7e6dafd5
shader_recompiler: Add more instructions and fix a few thinhs
2024-06-05 22:22:34 +03:00
raphaelthegreat
02a50265f8
shader_recompiler: Better branch detection + more opcodes
2024-06-02 03:05:40 +03:00
raphaelthegreat
dd91456b48
video_core: Moar shader instruction
2024-05-30 18:17:54 +03:00
psucien
0212e68752
shader_recompiler: redundant IR opcode removed
2024-05-30 11:50:42 +02:00
psucien
3741f013a3
shader_recompiler: added `NOP` and `RSQ` instructions
2024-05-30 09:43:49 +02:00
raphaelthegreat
58de7ff55a
video_core: Implement basic compute shaders and more instructions
2024-05-30 01:39:24 +03:00
raphaelthegreat
4d728e943d
video_core: Address some feedback
2024-05-27 22:13:55 +03:00
raphaelthegreat
d59b102b6f
video_core: Add image support
2024-05-27 18:25:45 +03:00
TheTurtle
8dfa5782b2
video_core: Add constant buffer support ( #147 )
2024-05-26 15:51:35 +03:00
TheTurtle
3c90b8ac00
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
8730968385
video: Import new shader recompiler + display a triangle ( #142 )
2024-05-22 01:35:12 +03:00