oltolm
e9ef726185
Fix warnings ( #749 )
...
* suppress warning in vk_mem_alloc.h
* fix warnings in cheats_patches.cpp
2024-09-03 21:41:59 +03:00
squidbus
6012e3cc86
vulkan: Improve format support info for vertex buffer formats. ( #753 )
2024-09-03 21:08:29 +03:00
TheTurtle
f087f43736
shader_recompiler: Implement render target swizzles when no format is available ( #739 )
...
* shader_recompiler: Use null image when shader is compiled with unbound sharp
* video_core: Refactor and render target swizzles
* liverpool_to_vk: Add missing swap format from RDR
* video_core: Refactor shader recompiler interface
* Makes it much easier to pass runtime information to the recompiler and have it treated as part of the shader key. Also pulls out most runtime state from Info struct
* shader_recompiler: Avoid some asserts
2024-09-03 14:04:30 +03:00
baggins183
3f8a8d3a24
video_core: Add bounds checking for subspan use in liverpool functions ( #717 )
2024-09-03 13:58:45 +03:00
squidbus
af107d4ef9
vulkan: Better support for directly linking a Vulkan support library.
2024-09-03 01:40:51 -07:00
Paris Oplopoios
f514fdfd18
Replace recursive_mutex with mutex ( #708 )
...
* Replace recursive_mutex with mutex
* Move mutex lock outside of ObtainBuffer
2024-09-01 22:20:22 +03:00
Emulator-Team-2
e4d8857eb5
Adding missing data format - (1_5_5_5) ( #701 )
...
* added data_format=17 and num_format=0
* Set `sceSaveDataDialogIsReadyToDisplay` temporary to 1 until is properly implemented.
2024-09-01 21:49:01 +03:00
psucien
4182740384
Don't load sync2
ext if nv_checkpoints
isn't used
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
2024-08-31 00:10:47 +02:00
psucien
ca1613258f
video_core: added support for indirect draws ( #678 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* video_core: added support for indirect draws
* barriers simplified
2024-08-30 22:59:56 +02:00
jnack
69d4fecdfe
Allow graphics/compute shader list for skipping ( #674 )
...
* Allow graphics/compute shader list for skipping
* nintendo ultra 64 + formatting
* indentation..
* allow empty array in ShouldSkipShader
* simpler check for skip hashes
2024-08-30 21:51:20 +03:00
squidbus
6080066f75
vulkan: Few fixes for MoltenVK ( #670 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* vulkan: Use SPIR-V 1.5 when Vulkan version is 1.2
* vulkan: Fix Format2_10_10_10 mismap
2024-08-30 16:40:39 +03:00
adjonesey
0f87d1e3d4
Remove from_compute check in texture cache invalidation ( #665 )
...
* Remove from_compute check in texture cache invalidation (hack)
* Remove from_compute parameter
---------
Co-authored-by: Adam Jones <a.c.jones@outlook.com>
2024-08-30 13:01:59 +03:00
IndecisiveTurtle
6bf42aa985
vk_graphics_pipeline: Fix texel buffer offset
2024-08-30 01:09:39 +03:00
IndecisiveTurtle
cb5190e31a
vk_graphics_pipeline: Fix copy paste error
2024-08-30 00:59:12 +03:00
IndecisiveTurtle
cf706f8cc7
buffer: Don't leak texel buffers, blacklist stream buffer with texel buffers
2024-08-30 00:26:08 +03:00
TheTurtle
66e96dd944
video_core: Account of runtime state changes when compiling shaders ( #575 )
...
* video_core: Compile shader permutations
* spirv: Only specific storage image format for atomics
* ir: Avoid cube coord patching for storage image
* spirv: Fix default attributes
* data_share: Add more instructions
* video_core: Query storage flag with runtime state
* kernel: Use std::list for semaphore
* video_core: Use texture buffers for untyped format load/store
* buffer_cache: Limit view usage
* vk_pipeline_cache: Fix invalid iterator
* image_view: Reduce log spam when alpha=1 in storage swizzle
* video_core: More features and proper spirv feature detection
* video_core: Attempt no2 for specialization
* spirv: Remove conflict
* vk_shader_cache: Small cleanup
2024-08-29 19:29:54 +03:00
psucien
9d349a1308
video_core: added support for indirect dispatches (gfx only)
2024-08-29 12:32:37 +02:00
Emulator-Team-2
af18728962
clang-format fix
2024-08-28 18:45:32 +02:00
Emulator-Team-2
6f938a10ce
added data_format=3 and num_format=4
2024-08-28 18:12:59 +02:00
Emulator-Team-2
08036d2b49
added data_format=36 and num_format=9
2024-08-28 18:10:23 +02:00
georgemoralis
be49871c68
Merge pull request #618 from vertver/main
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
video_core: Added copyGPUCmdBuffers option
2024-08-28 14:00:26 +03:00
Vinicius Rangel
8192eaa668
video_core: re-enable culling ( #551 )
2024-08-28 13:11:55 +03:00
Anton Kovalev
dfb30ea955
Use pair of spans instead of references in copy command buffers function
2024-08-28 11:24:15 +02:00
Random
c37679154e
Handle PM4 type-2 packets ( #556 )
...
* video_core: handle PM4 type-2 packets
* video_core: rewrite pm4 comand type handling into a switch statement
2024-08-28 09:53:27 +02:00
Anton Kovalev
87ccfdfbbd
Fixed type on function
2024-08-28 09:42:31 +02:00
Anton Kovalev
1a02efbd15
clang-format style fix
2024-08-28 05:42:48 +02:00
Anton Kovalev
3842993a43
Use input dcb and ccb instead of copy
2024-08-28 00:21:12 +02:00
Anton Kovalev
3d46a5d492
Do not shrink buffer's size on submit
2024-08-27 23:33:24 +02:00
Anton Kovalev
595b845df0
clang-format fix
2024-08-27 23:31:04 +02:00
Anton Kovalev
659e7a4675
video_core: Added copyGPUCmdBuffers option
2024-08-27 23:16:14 +02:00
psucien
371d1d009a
Added missing headers and 2D MSAA image type
2024-08-27 19:17:23 +02:00
Plínio Larrubia
ad8373095a
fix typo in LOG_INFO ( #559 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
fix: file name typo constant_propogation_pass.cpp
fix typo from 'symbol_vitrual_addr' variable
fix typo in emit_spirv_context_get_set.cpp
fix typo from constant_propagation_pass.cpp in CMakeLists
fix typo in these some config.cpp functions
- setSliderPosition
- setSliderPositionGrid
- getSliderPosition
- getSliderPositionGrid
fix typo inside src\core\aerolib\stubs.cpp
fix typo in a comment from src\core\file_format\pkg.cpp
fix typo inside src\core\file_sys\fs.cpp + fs.h
- NeedsCaseInsensiveSearch -> NeedsCaseInsensitiveSearch
fix 2 function typos: sceAppContentAddcontEnqueueDownloadByEntitlemetId and sceAppContentAddcontMountByEntitlemetId
fix typo on comment inside src\core\libraries\kernel\file_system.cpp
fix typo on src\core\libraries\videoout\driver.cpp
fix typo in src\core\memory.cpp
fix typo from comment in src\qt_gui\game_list_utils.h
fix typo in src\video_core\amdgpu\liverpool.h
- window_offset_disble to window_offset_disable
fix typo from comments in src\video_core\host_shaders\detile_m32x1.comp + detile_m32x2.comp
- subotimal -> suboptimal
fix typo from comment in src\video_core\renderer_vulkan\renderer_vulkan.cpp
- dimentions -> dimensions
fix typo from enum in src\common\debug.h and other files
- MarkersPallete -> MarkersPalette
fix last typo in src\video_core\amdgpu\pm4_opcodes.h
- PremableCntl -> PreambleCntl
2024-08-26 15:22:11 +03:00
psucien
6fd4264b5d
video_core: vk_rasterizer: fix for crash on markers with nullGpu
2024-08-25 22:24:10 +02:00
DanielSvoboda
2a737d0800
V_NOP | PfpSyncMe | S_CMPK_EQ_U32 ( #426 )
...
* V_NOP
V_NOP = Do nothing
* PfpSyncMe
PfpSyncMe ensures that all previous commands are completed before continuing.
'break' should be enough for now
* S_CMPK_EQ_U32
S_CMPK_EQ_U32
SCC = (D.u == SIMM16)
* S_CMPK_EQ_U32
* OperandField::Undefined:
* Update translate.cpp
remove OperandField::Undefined:
* Update image_view.cpp
[Render.Vulkan] <Error> image_view.cpp:ImageViewInfo:109: Storage image (num_comps = 4) requires swizzling [BGRA]
format 43 dst_sel 3886
* Update liverpool_to_vk.cpp
* S_CMPK_EQ_U32
* S_CMPK_EQ_U32
2024-08-25 22:07:46 +02:00
psucien
b687ae5e34
GnmDriver: Clear context support ( #567 )
...
* gnmdriver: added support for gpu context reset
* shader_recompiler: minor validation fixes
* shader_recompiler: added `V_CMPX_GT_I32`
* shader_recompiler: fix for crash on inline sampler access
* compilation warnings and dead code elimination
* amdgpu: fix for registers addressing
* libraries: videoout: reduce logging pressure
* shader_recompiler: fix for devergence scope detection
2024-08-25 23:01:05 +03:00
TheTurtle
c79b10edc1
video_core: Bloodborne stabilization pt1 ( #543 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* shader_recompiler: Writelane elimination pass + null image fix
* spirv: Implement image derivatives
* texture_cache: Reduce page bit size
* clang format
* slot_vector: Back to debug assert
* vk_graphics_pipeline: Handle null tsharp
* spirv: Revert some change
* vk_instance: Support primitive restart on list topology
* page_manager: Adjust windows exception handler
* clang format
* Remove subres tracking
* Will be done separately
2024-08-24 22:51:47 +03:00
Vinicius Rangel
9e4fc17e6c
shader_recompiler: handle fetch shader address offsets ( #538 )
...
Reuse / reuse (push) Waiting to run
Clang Format / clang-format (push) Waiting to run
Linux-Qt / build (push) Waiting to run
Linux / build (push) Waiting to run
macOS-Qt / build (push) Waiting to run
macOS / build (push) Waiting to run
Windows-Qt / build (push) Waiting to run
Windows / build (push) Waiting to run
* shader_recompiler: handle fetch shader address offsets
parse index & offset sgpr from fetch shader and propagate them to vkBindVertexBuffers
* shader_recompiler: fix fetch_shader when offset is not present
* video_core: propagate index/offset SGPRs to vkCmdDraw instead of offsetting the buffer address
* video_core: add vertex_offset to non-indexed draw calls
renamed fetch offset fields
2024-08-24 17:36:40 +02:00
Vladislav Mikhalin
41dec15869
Fixed video dimensions alignment and image cache
2024-08-24 16:59:30 +03:00
Random
fc745ee767
Fix a few issues with the intel anv vulkan driver from mesa ( #514 )
...
* add fallback format for d16UnormS8Uint which is not supported by intel
* fix depth/stencil buffer creation issues causing asserts in intel driver
2024-08-24 14:50:46 +02:00
¥IGA
0c5b91e1fb
Warnings fixes ( #541 )
...
* Warnings fixes
* Warnings fixes
2024-08-23 22:38:55 +03:00
Vladislav Mikhalin
79680c50c0
Misc fixes ( #517 )
...
* Misc fixes
* Removed the skip for draw calls without RTs
* Remove Srgb image stores to rework later
2024-08-21 23:54:23 +03:00
TheTurtle
3f9c86ad33
vk_pipeline_cache: Avoid recompiling new shaders on each new PL ( #480 )
...
* cfg: Add one more divergence case
* Seen in RDR shaders
* renderer_vulkan: Reduce number of compiled shaders
* vk_pipeline_cache: Remove some unnecessary checks
2024-08-21 02:00:24 +03:00
Random
09da94b7b2
fix gcc compilation error in vk_graphics_pipeline.cpp ( #477 )
...
gcc fails to infer the type of the two parts of a ternary expression whose types are different but both contain an implicit cast operator to the same type
2024-08-19 18:45:42 +03:00
Vladislav Mikhalin
1c898d0842
Fix stencil buffer not being used ( #464 )
2024-08-18 20:37:29 +03:00
Dzmitry Dubrova
dcb057dd7f
misc changes, part ?/? ( #441 )
...
* gui: add option to boot a game by choosing elf file
* core: some small implementations
* fs: implement open func
* add some validations
* spirv: add image format
* video_core: add eR16Uint to formats
2024-08-16 20:16:15 +03:00
TheTurtle
1d1c88ad31
control_flow_graph: Initial divergence handling ( #434 )
...
* control_flow_graph: Initial divergence handling
* cfg: Handle additional case
* spirv: Handle tgid enable bits
* clang format
* spirv: Use proper format
* translator: Add more instructions
2024-08-16 20:05:37 +03:00
Vinicius Rangel
ff33b00c3a
gpu: primitive_restart bit check typo ( #454 )
2024-08-16 20:03:19 +03:00
Vinicius Rangel
444cdfbba5
gpu: check right register for primitive restart index ( #453 )
...
@red-prig suggestion
Not sure if it is possible to have trash in the register (maybe if primitive restart is toggled off), but just to make sure.
2024-08-16 19:49:15 +03:00
Vinicius Rangel
d45563f92c
gpu: handle primitive restart index register ( #438 )
2024-08-15 15:43:27 +03:00
Dzmitry Dubrova
6f4e1a47b9
core: misc changes ( #430 )
...
* core: misc changes
* video_core: add some formats for detiling
* clang format
2024-08-14 20:37:05 +02:00
psucien
27cb218584
video_core: CPU flip relay ( #415 )
...
* video_core: cpu flip is propagated via gpu thread now
* tentative fix for cpu flips racing
* libraries: videoout: better flip status handling
2024-08-14 11:36:11 +02:00
TheTurtle
d8b9d82ffa
video_core: Various fixes ( #423 )
...
* video_core: Various fixes
* clang format
2024-08-13 20:05:10 +03:00
squidbus
d1a033b6af
Fix some Vulkan validation errors on macOS. ( #420 )
2024-08-13 10:30:47 +03:00
TheTurtle
1fb0da9b89
video_core: Crucial buffer cache fixes + proper GPU clears ( #414 )
...
* translator: Use templates for stronger type guarantees
* spirv: Define buffer offsets upfront
* Saves a lot of shader instructions
* buffer_cache: Use dynamic vertex input when available
* Fixes issues when games like dark souls rebind vertex buffers with different stride
* externals: Update boost
* spirv: Use runtime array for ssbos
* ssbos can be large and typically their size will vary, especially in generic copy/clear cs shaders
* fs: Lock when doing case insensitive search
* Dark Souls does fs lookups from different threads
* texture_cache: More precise invalidation from compute
* Fixes unrelated render targets being cleared
* texture_cache: Use hashes for protect gpu modified images from reupload
* translator: Treat V_CNDMASK as float
* Sometimes it can have input modifiers. Worst this will cause is some extra calls to uintBitsToFloat and opposite. But most often this is used as float anyway
* translator: Small optimization for V_SAD_U32
* Fix review
* clang format
2024-08-13 09:21:48 +03:00
squidbus
284035d3e2
Enable VK_EXT_robustness2 nullDescriptor only if supported.
2024-08-12 14:52:46 -07:00
psucien
a15a93997c
unlink sync2 if not present (tentative fix for #418 )
2024-08-12 22:52:21 +02:00
psucien
2ba3221fc9
fix for Linux compilation ( #416 )
2024-08-12 20:10:42 +02:00
psucien
3d0fdf11f0
Build stabilization ( #413 )
...
* shader_recompiler: fix for float convert and debug asserts
* libraries: kernel: correct return code on invalid semaphore
* amdgpu: additional case for cb extents retrieval heuristic
* removed redundant check in assert
* amdgpu: fix for linear tiling mode detection fin color buffers
* texture_cache: fix for unexpected scheduler flushes by detiler
* renderer_vulkan: missing depth barrier
* texture_cache: missed slices in rt view; + detiler format
2024-08-12 17:23:01 +03:00
psucien
ace39957ef
Video Core: debug tools ( #412 )
...
* video_core: better use of rdoc markers
* renderer_vulkan: added gpu assisted validation
* renderer_vulkan: make nv_checkpoints operational
* video_core: unified Vulkan objects names
2024-08-12 13:46:45 +02:00
psucien
3e2d4d6b79
Gnmdriver: More functions ( #410 )
...
* libraries: gnmdriver: added `sceGnmGetGpuCoreClockFrequency`
* libraries: gnmdriver: `sceGnmSetVgtControl` added
* amdgpu: gpuclock64 in write eop packet
2024-08-12 13:29:57 +02:00
IndecisiveTurtle
3fd2abdd5b
vk_graphics_pipeline: Fix regression
2024-08-08 17:01:03 +03:00
TheTurtle
381ba8c7a5
video_core: Implement guest buffer manager ( #373 )
...
* video_core: Introduce buffer cache
* video_core: Use multi level page table for caches
* renderer_vulkan: Remove unused stream buffer
* fix build
* oops forgot optimize off
2024-08-08 15:02:10 +03:00
TheTurtle
159be2c7f4
video_core: Minor fixes ( #366 )
...
* data_share: Fix DS instruction
* vk_graphics_pipeline: Fix unnecessary invalidate
* spirv: Remove subgroup id
* vector_alu: Simplify mbcnt pattern
* shader_recompiler: More instructions
* clang format
* kernel: Fix cond memory leak and reduce spam
* liverpool: Print error on exception
* build fix
2024-08-05 13:45:28 +03:00
DanielSvoboda
cdff4af38d
add-SurfaceFormat ( #365 )
...
[Debug] <Critical> liverpool_to_vk.cpp:SurfaceFormat:395: Unreachable code!
CUSA24620
Unknown data_format=7 and num_format=7
CUSA03082
Unknown data_format=2 and num_format=4
CUSA19345
Unknown data_format=34 and num_format=7
CUSA02411
Unknown data_format=1 and num_format=9
A duplicate was also removed.
2024-08-04 22:17:34 +02:00
DanielSvoboda
7308864537
SampleCountFlagBits::e16 - GetGpuClock64 ( #360 )
...
* SampleCountFlagBits::e16
* GpuClock64
* GpuClock64
* Update pm4_cmds.h
* Update pm4_cmds.h
2024-08-04 15:49:43 +02:00
raziel1000
413402600b
missing eR8Srgb
2024-07-31 02:07:02 -06:00
raziel1000
ec1335911b
added data_format=1 and num_format=9
2024-07-31 01:24:44 -06:00
raziel1000
51c89a9958
added data_format=10 and num_format=5
2024-07-31 00:32:50 -06:00
TheTurtle
a7c9bfa5c5
shader_recompiler: Small instruction parsing refactor/bugfixes ( #340 )
...
* translator: Implemtn f32 to f16 convert
* shader_recompiler: Add bit instructions
* shader_recompiler: More data share instructions
* shader_recompiler: Remove exec contexts, fix S_MOV_B64
* shader_recompiler: Split instruction parsing into categories
* shader_recompiler: Better BFS search
* shader_recompiler: Constant propagation pass for cmp_class_f32
* shader_recompiler: Partial readfirstlane implementation
* shader_recompiler: Stub readlane/writelane only for non-compute
* hack: Fix swizzle on RDR
* Will properly fix this when merging this
* clang format
* address_space: Bump user area size to full
* shader_recompiler: V_INTERP_MOV_F32
* Should work the same as spirv will emit flat decoration on demand
* kernel: Add MAP_OP_MAP_FLEXIBLE
* image_view: Attempt to apply storage swizzle on format
* vk_scheduler: Barrier attachments on renderpass end
* clang format
* liverpool: cs state backup
* shader_recompiler: More instructions and formats
* vector_alu: Proper V_MBCNT_U32_B32
* shader_recompiler: Port some dark souls things
* file_system: Implement sceKernelRename
* more formats
* clang format
* resource_tracking_pass: Back to assert
* translate: Tracedata
* kernel: Remove tracy lock
* Solves random crashes in Dark Souls
* code: Review comments
2024-07-30 23:32:40 +02:00
Vasyl Baran
3e6af54ea3
Fixup for detiler artifacts on macOS
2024-07-28 22:21:18 +03:00
psucien
30198d5ffc
Surface management rework (2/3) ( #329 )
...
* texture_cache: interface refactoring
* a bit of fixes and improvements
* texture_cache: macro tile extents for bpp 128
* texture_cache: detiler: prefer host memory for large buffers upload
2024-07-28 17:20:42 +02:00
TheTurtle
0d6edaa0a0
Move presentation to separate thread/improve sync ( #303 )
...
* video_out: Move presentation to separate thread
* liverpool: Better sync for CPU flips
* driver: Make flip blocking
* videoout: Proper flip rate and vblank management
* config: Add vblank divider option
* clang format
* videoout: added `sceVideoOutWaitVblank`
* clang format
* vk_scheduler: Silly merge conflict
* externals: Add renderdoc API
* clang format
* reuse
* rdoc: manual capture trigger
* clang fmt
---------
Co-authored-by: psucien <168137814+psucien@users.noreply.github.com>
2024-07-28 15:54:09 +02:00
squidbus
225ca3ac5b
Update format list for rebase and sort and remove duplicates.
2024-07-21 22:36:12 +03:00
squidbus
fadf03909c
Add a few missing used formats from detiling.
2024-07-21 22:36:12 +03:00
squidbus
4fd3af995e
Change format list from vector to array/span.
2024-07-21 22:36:12 +03:00
squidbus
68e1a6a596
Tidy up Vulkan extension list.
2024-07-21 22:36:12 +03:00
squidbus
175ffe8ce3
Add fallback system for unsupported pixel formats.
2024-07-21 22:36:12 +03:00
squidbus
35d629a730
Downgrade Vulkan requirement to 1.2 with extensions.
2024-07-21 22:36:12 +03:00
squidbus
66fa29059c
Add initial macOS support.
2024-07-21 22:36:12 +03:00
TheTurtle
36d528743a
vk_scheduler: Fix pending op check
2024-07-21 17:41:46 +03:00
TheTurtle
403a5a57b1
vk_scheduler: Add api for defering operations ( #311 )
2024-07-21 15:42:32 +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
georgemoralis
250bfbb494
Update liverpool_to_vk.cpp
2024-07-18 18:19:46 +03:00
georgemoralis
25e95c959a
Merge branch 'main' into miscFixes6
2024-07-18 18:18:10 +03:00
georgemoralis
439c0be9a6
clang format fix
2024-07-17 17:57:54 +03:00
IndecisiveTurtle
1208661d64
Remove bc6
2024-07-17 17:06:09 +03:00
IndecisiveTurtle
cd009cfec6
shader_recompiler: Normal gathers
2024-07-17 16:49:45 +03:00
IndecisiveTurtle
53fb73e95f
rasterizer: Bump staging to 1GB
...
* Less chances of crashing
2024-07-17 16:22:04 +03:00
IndecisiveTurtle
fcbaec51df
liverpool_to_vk: Add more surface formats
2024-07-17 16:19:08 +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
c49afb4c17
Merge pull request #287 from polybiusproxy/dev
...
gnmdriver: Implement shader functions
2024-07-15 07:47:33 +03:00
IndecisiveTurtle
73d4aafc09
liverpool: Num submits should be atomic
2024-07-15 01:28:36 +03:00
psucien
ed37fb32a7
review comments applied
2024-07-14 23:25:41 +02:00
georgemoralis
4de9d9cf0d
dataformat used by DMC4
2024-07-14 23:23:10 +03:00
psucien
dc50cc55fb
missing line fix
2024-07-14 17:11:54 +02:00
psucien
b8916787b2
renderer: debug markers for ability to match cmdlists with rdoc captures
2024-07-14 11:37:52 +02:00
psucien
8144f835a9
amdgpu: additional heuristic for CB extents detection
...
Found in CUSA00144
2024-07-14 10:59:22 +02:00
psucien
1b94f07a6a
recompiler: proper VS inputs initialization
2024-07-13 01:00:24 +02:00
psucien
a75851f7e2
hot fix: reduce geometry staging 3Gb -> 512Mb
2024-07-11 20:29:53 +02:00
Vladislav Mikhalin
989f88837d
Filesystem errors and Base Array Layers ( #280 )
...
* Filesystem errors and Base Array Layers
* Fixed build for POSIX
* forgot 1 file
2024-07-11 14:37:21 +03:00
psucien
ab6a1fb5f0
Merge pull request #247 from viniciuslrangel/device-selector
...
Improve physical device selection in Vulkan renderer
2024-07-08 22:04:51 +02:00
offtkp
0619af24a7
Eliminate compiler warning
2024-07-08 01:17:42 +03:00
Vinicius Rangel
6cc8381d62
Improve physical device selection in Vulkan renderer
...
Fix when two discrete gpu are present & memory heap size is now considered while sorting physical devices
2024-07-07 17:02:35 -03:00
psucien
6dbb842bec
renderer: a bit more formats to support
2024-07-07 14:34:36 +02:00
psucien
1d608427ed
renderer: don't let unbound color attachment affect pass's rendering area
2024-07-06 20:13:12 +02:00
psucien
cfbe8b9e6d
renderer: added support for instance step rates
2024-07-06 18:03:43 +02:00
psucien
986ed0662c
gnmdriver, amdgpu: added gpu idle IRQ; submission lock logic improved
2024-07-06 18:03:34 +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
DanielSvoboda
1d58a0403e
Fix ShowSplash size ( #235 )
...
* Fix ShowSplash size
* enable isShowSplash
2024-07-05 00:16:06 +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
IndecisiveTurtle
fe5bfa9d61
texture_cache: Always validate for now
2024-07-01 22:53:01 +03:00
IndecisiveTurtle
2fe897eeda
host_shaders: Fix R8G8 detiler
2024-07-01 20:25:43 +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
410ba37ec2
code: Add additional logging during init
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
10ef357f1f
image: Fix image type of 1D Array
2024-07-01 13:56:14 +03:00
psucien
f03262421e
texture_cache: force storage usage bit to all images
2024-07-01 09:58:52 +02:00
psucien
1f55eff9d8
libraries: gnmdriver: added initialization preamble to every first submit in a frame
2024-06-30 18:22:39 +02:00
psucien
14377b39b5
texture_cache: detiler: added missing micro8x2
2024-06-30 15:54:59 +02:00
psucien
9121ecf123
renderer_vulkan: more formats conversion
2024-06-30 01:21:39 +03:00
psucien
c4061c3b95
amdgpu: fix for wrong constant ram offset in WriteConstRam
decoding
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
059f54838a
Merge pull request #219 from shadps4-emu/gnmdriver/hw_init
...
Complete HW state init functions
2024-06-27 17:33:58 +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
psucien
91940781b8
libraries: gnmdriver: complete HW stat init functions
2024-06-27 13:36:55 +02:00
georgemoralis
521ff4d14b
clang format fixes
2024-06-26 20:32:08 +03:00
IndecisiveTurtle
550bfa1c88
liverpool: Fix assert for compute queues
2024-06-26 20:00:09 +03:00
IndecisiveTurtle
4846704832
shader_recompiler: More instructions and fix for swords of ditto
2024-06-26 18:03:09 +03:00
Alexandre Bouvier
a2224a9b6b
fix system include paths
2024-06-25 18:17:16 +02:00
psucien
8475a62a46
common: Common
namespace for the slot vector container
2024-06-25 09:31:32 +02:00
psucien
c04fbb75d8
libraries: gnm_driver: added sceGnmDrawIndexIndirect
and sceGnmDrawIndirect
2024-06-24 22:53:59 +02: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
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
30199fe701
kernel: Add scePthreadExit
2024-06-22 18:09:04 +03:00
psucien
ab4cc8b218
texture_cache: return back image view usage override
2024-06-16 22:30:18 +02:00
psucien
6e7fd21338
renderer_vulkan: simplified sRGB hack
2024-06-16 22:29:23 +02:00
psucien
3f92a68129
renderer_vulkan: BC3 formats conversion
2024-06-16 22:29:04 +02:00
psucien
37ceea2314
renderer_vulkan: added log entry for CS compiling
2024-06-16 20:51:35 +02:00
psucien
b02ec385b2
video_out: proper sRGB output workflow
2024-06-15 23:24:34 +02:00
psucien
b2b45bf480
video_core: added support for alternate CB channels order
2024-06-15 23:24:33 +02:00
psucien
b9602afc82
renderer_vulkan: sRGB swapchain
2024-06-15 23:24:33 +02:00
psucien
e6f773f950
videoout: register buffers in texture cache at VO creation time
2024-06-15 23:24:33 +02:00
psucien
bdb235716a
texture_cache: don't set color attachment usage flag for packed images
2024-06-15 23:24:33 +02:00
psucien
fd8ceacef7
video_core: shaders hash switched to one from binary header
2024-06-15 23:24:32 +02:00
psucien
37cbdad57b
renderer_vulkan: static vector for vertex buffers ranges
2024-06-15 23:20:14 +02:00
psucien
be6f523b6e
renderer_vulkan: fixed buffers alignments
2024-06-15 23:20:13 +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
TheTurtle
31bd502764
core: Fixup linux support ( #195 )
...
* tls: Implement for linux
* core: Implement memory manager for linux
2024-06-14 00:58:57 +03:00
psucien
64569ff737
tracy: guards for missing vk profiler context
2024-06-11 22:57:37 +02:00
psucien
d7565dec57
tracy: added Vulkan GPU profiling
2024-06-11 21:52:48 +02:00
psucien
04b1226e9c
tracy: basic markup and project palette
2024-06-11 12:14:33 +02:00
psucien
c2dc7c3fd4
renderer_vulkan: another fix for vertex buffer offsets
2024-06-10 23:20:32 +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
psucien
01f09cfa63
texture_cache: detiler: added support for block coded 64bit images
2024-06-09 18:18:49 +02:00
psucien
fa73812f32
texture_cache: detiler: added support for block coded 128bit images
2024-06-09 12:54:19 +02:00
psucien
9230d04a0a
common: slot_vector moved into common
2024-06-08 01:19:51 +02: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
psucien
fe3b546d93
renderer_vulkan, config: option to toggle VK validation layer
2024-06-07 11:21:02 +02:00
psucien
dd5a25fda2
review iteration
2024-06-07 08:39:03 +02:00
psucien
e790ec775f
texture_cache: detiler: more verbosity in print
2024-06-07 00:12:16 +02:00
psucien
cfc297622f
texture_cache: fix for forgotten cb tiling info update
2024-06-07 00:12:16 +02:00
psucien
b17b4ab787
texture_cache: detiler: redundant flag removed
2024-06-07 00:12:15 +02:00
psucien
cb07778008
renderer_vulkan: proper barriers
2024-06-06 23:40:31 +02:00
psucien
729d02d699
renderer_vulkan: proper min uniform alignment
2024-06-06 22:24:20 +02:00
psucien
6814d5f108
renderer_vulkan: fix for vertex buffer mapping offset
2024-06-06 21:41:59 +02: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
TheTurtle
728249f58d
core: Properly implement TLS ( #164 )
...
* core: Split module code from linker
* linker: Properly implement thread local storage
* kernel: Fix a few memory functions
* kernel: Implement module loading
* Now it's easy to do anyway with new module rework
2024-06-05 22:08:18 +03:00
psucien
f9e5c70414
texture_cache: detiler image view moved into image class
2024-06-05 18:37:06 +02:00
psucien
b59e525408
texture_cache: detiler: change staging to faster stream buffer
2024-06-05 18:16:31 +02:00
psucien
bee444b6da
fix for re-use
2024-06-05 17:57:05 +02:00
psucien
3a5ba82eae
final touch
2024-06-05 16:34:17 +02:00
psucien
0b63a76b51
amdgpu: render target size hint for old runtime
2024-06-05 16:34:04 +02:00
psucien
19994424c5
texture_cache: detiler: shader module release and debug name
2024-06-05 16:33:26 +02:00
psucien
440a60a43b
texture_cache: detiler: m8x1 and m8x4 shaders
2024-06-05 16:14:22 +02:00
psucien
184b7b7fc2
video_core: added shader header files generator from Citra
2024-06-05 14:31:50 +02:00
psucien
2c87171b95
texture_cache: a support for m8x1 and m8x4 layouts added to the detiler
2024-06-05 13:10:48 +02:00
psucien
cd87005ded
renderer_vulkan: unused extension removed
2024-06-04 12:43:23 +02:00
psucien
d491bbf366
amdgpu: tiling mode introduced
2024-06-04 12:40:08 +02:00
psucien
d7d324ac76
amdgpu: surface bits per element LUT
2024-06-02 22:46:40 +02:00
psucien
23cc60bf06
video_core: amdgpu: simply crash if an exception occured in coro
2024-06-02 19:16:05 +02:00
raphaelthegreat
02a50265f8
shader_recompiler: Better branch detection + more opcodes
2024-06-02 03:05:40 +03:00
psucien
f624f7749c
Fixes and QoL ( #159 )
...
* to ensure that we're not unlocking submits too early
* a final touch
* video_core: texture_cache: fix for page table corruption
* core: linker: a name for the game main thread
* libraries: gnmdriver: an option to dump application command lists
* libraries: kernel: named guest threads
* video_core: added a heuristic for determination of CB/DB surface extents
* fix for rebase leftover
2024-06-01 23:50:03 +03:00
raphaelthegreat
dd91456b48
video_core: Moar shader instruction
2024-05-30 18:17:54 +03:00
psucien
365df2a3ac
video_core: renderer_vulkan: write mask fallback
2024-05-30 16:27:39 +02:00
psucien
8e6d492524
video_core: renderer_vulkan: added color mask support
2024-05-30 12:55:37 +02:00
psucien
767e13cccb
Linux build fix
2024-05-30 12:09:33 +02:00
psucien
9227a2b868
video_core: multiple color attachments support
2024-05-30 11:21:26 +02:00
psucien
d05cbd88bb
video_core: renderer_vulkan: support for passes w\o a fs
2024-05-30 09:42:44 +02:00
raphaelthegreat
58de7ff55a
video_core: Implement basic compute shaders and more instructions
2024-05-30 01:39:24 +03:00
psucien
055dec1149
video_core: texture_cache: proper UniqueImage
class movers
2024-05-29 17:17:24 +02:00
psucien
a67b8f7a0b
video_core: renderer_vulkan: proper inclusion of maintenance4
2024-05-29 17:06:46 +02:00
psucien
5f37a6be83
video_core: amdgpu: fix for a deadlock in wait on idle
2024-05-29 16:03:37 +02:00