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
squidbus
6a6d5bad42
Fix one-off bug with user data registers.
2024-07-21 22:36:12 +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
b4df90d8e4
Merge pull request #292 from shadps4-emu/games/00144
...
Missing graphics features for flOw & Flower
2024-07-14 23:07:46 +03: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
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
19c85c78cf
recompiler: switch instance data to storage buffers
2024-07-07 13:08:39 +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
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
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
6774216038
shader_recompiler: Apply buffer swizzle on vertex attribs
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
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
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
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
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
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
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