Fernando Sahmkow
3630bfaef3
RasterizerMemory: Add filtering for flushing/invalidation operations.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
2793304117
Vulkan: Allow stagging buffer deferrals.
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
8d694701bc
MacroHLE: Add OpenGL Support
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
4c82e47edd
Vulkan: Add other additional pipeline specs
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
d33251db93
Vulkan: Implement Dynamic State 3
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
f800e485c9
Vulkan Implement Dynamic State 2 LogicOp and PatchVertices
2023-01-01 16:43:58 -05:00
Fernando Sahmkow
c897c55e3c
Vulkan: Implement Dynamic States 2
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
cb1497d0d7
DMAPusher: Improve collection of non executing methods
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
ce448ce770
Revert Buffer cache changes and setup additional macros.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
18637766ef
MacroHLE: Reduce massive calculations on sizing estimation.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
aad0cbf024
MacroHLE: Add HLE replacement for base vertex and base instance.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
93ac5a6a6d
MacroHLE: Add Index Buffer size estimation.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
c541559767
MacroHLE: Refactor MacroHLE system.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
0f89828073
MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.
2023-01-01 16:43:57 -05:00
Fernando Sahmkow
a5a94f52ff
MacroHLE: Add MultidrawIndirect HLE Macro.
2023-01-01 16:43:57 -05:00
Liam
aa13ee5c4a
vulkan_common: unify VK_EXT_debug_utils and selection of validation layer
2023-01-01 11:59:47 -05:00
liamwhite
9fdacb5e3a
Merge pull request #9423 from vonchenplus/vulkan_quad_strip
...
video_core: Implement all vulkan topology
2022-12-28 20:59:23 -05:00
FengChen
6a397bc8ed
video_core: Implement other missing vulkan topology
2022-12-26 12:20:49 +08:00
FengChen
86d5b4e556
video_core: Implement vulkan QuadStrip topology
2022-12-26 11:37:34 +08:00
ameerj
7584d36922
texture_cache: Use Common::ScratchBuffer for swizzle buffers
2022-12-25 15:47:41 -05:00
ameerj
1209d428f1
texture_cache: Use pre-allocated buffer for texture downloads
2022-12-25 15:38:36 -05:00
ameerj
c448b3af2f
texture_cache: Use pre-allocated buffer for texture uploads
2022-12-25 15:38:36 -05:00
Fernando S
3e6850f00b
Merge pull request #9453 from ameerj/scratch-vector
...
common: Add ScratchBuffer Class
2022-12-24 20:26:06 -05:00
ameerj
c6590ad07b
scratch_buffer: Explicitly defing resize and resize_destructive functions
...
resize keeps previous data intact when the buffer grows
resize_destructive destroys the previous data when the buffer grows
2022-12-19 22:40:50 -05:00
ameerj
61e4f2d931
dma_pusher: Rework command_headers usage
...
Uses ScratchBuffer and avoids overwriting the command_headers buffer with the prefetch_command_list
2022-12-19 18:08:04 -05:00
ameerj
bdef22ff85
buffer_cache: Use Common::ScratchBuffer for ImmediateBuffer usage
2022-12-19 18:08:04 -05:00
ameerj
4bc2d82130
video_core: Add usages of ScratchBuffer
2022-12-19 18:08:04 -05:00
Jan Beich
b60a93a936
externals: update Vulkan-Headers to v1.3.238
2022-12-19 17:14:29 +00:00
liamwhite
5da72a891f
Merge pull request #7450 from FernandoS27/ndc-vulkan
...
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-17 16:08:10 -05:00
Kelebek1
f7d95d0a3a
Remove unimplemented transform feedback geometry spam, it should be implemented
2022-12-16 22:52:29 +00:00
Narr the Reg
9ff891ce71
Merge pull request #9431 from liamwhite/sixty-five-oh-two
...
vulkan_common: declare storageBuffer8BitAccess
2022-12-15 17:52:16 -06:00
liamwhite
3ff7a5de1a
Merge pull request #7410 from Nefsen402/wayland-fixes
...
Wayland fixes
2022-12-15 12:05:01 -05:00
FernandoS27
0104e28fe4
Vulkan: Add support for VK_EXT_depth_clip_control.
2022-12-13 21:39:18 -05:00
Liam
4fce72c902
vulkan_common: declare storageBuffer8BitAccess
2022-12-13 18:28:50 -05:00
Alexander Orzechowski
09e3029c11
gl_device: Use a more robust way to use strict context mode
...
Instead of checking a environment variable which may not actually
exist or is just wrong, ask QT if it's running on the wayland
platform.
2022-12-13 15:01:51 -05:00
Alexander Orzechowski
3cc3176ad6
video_core/vulkan: Explicity check swapchain size when deciding to recreate
...
Vulkan for whatever reason does not return VK_ERROR_OUT_OF_DATE_KHR when
the swapchain is the wrong size. Explicity make sure the size is indeed
up to date to workaround this.
2022-12-13 13:23:35 -05:00
Liam
d5f53da79d
renderer_opengl: refactor context acquire
2022-12-13 13:23:23 -05:00
yzct12345
f6868ae4dd
Fix validation errors on less compatible Intel GPU
2022-12-12 20:53:05 -05:00
bunnei
da58eb6208
Merge pull request #9406 from vonchenplus/topology
...
video_core: Adjust topology update logic and Adjust Clear Manage
2022-12-12 14:37:06 -08:00
Mai
8ef9075b1b
Merge pull request #9420 from liamwhite/aniso
...
video_core: fix off by one in anisotropic filtering amount
2022-12-12 03:34:09 +00:00
Matías Locatti
623429a27e
Merge pull request #9409 from liamwhite/smaa2
...
video_core: Integrate SMAA
2022-12-11 01:38:28 -03:00
Liam
456322dde6
video_core: fix off by one in anisotropic filtering amount
2022-12-10 20:54:45 -05:00
Salvage
0e265db873
Fix compilation error
2022-12-09 14:49:15 +01:00
Liam
5b837157bd
video_core: Integrate SMAA
...
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com>
Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2022-12-08 17:17:45 -05:00
FengChen
37014e9127
video_core: Add vertex_array_instance_* sbubbed called warning
2022-12-08 23:19:31 +08:00
FengChen
1e64b5e2ec
video_core: The draw manager manages whether Clear is required.
2022-12-08 23:10:52 +08:00
FengChen
15d63c3d3d
video_core: Adjust topology update logic
2022-12-08 22:40:28 +08:00
Fernando S
41461514d6
Merge pull request #9401 from vonchenplus/draw_manager
...
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 12:41:39 +01:00
Feng Chen
bf0b957c05
video_core: Implement maxwell3d draw manager and split draw logic
2022-12-08 10:12:19 +08:00
Morph
bfdd512787
Merge pull request #9365 from liamwhite/val
...
vulkan_common: quiet some validation errors
2022-12-06 21:08:14 -05:00
Fernando S
08d4e7c7af
Merge pull request #9393 from liamwhite/more-vulkan
...
vulkan_common: further initialization tweaks
2022-12-06 17:45:08 +01:00
liamwhite
90145c424d
Merge pull request #9360 from Kelebek1/R-E-S-P-E-C-T
...
Respect render mode override
2022-12-05 22:17:22 -05:00
Liam
7e7a23363a
vulkan_common: further initialization tweaks
2022-12-05 22:06:35 -05:00
liamwhite
3b19f741bd
Merge pull request #6833 from abouvier/unbundle
...
cmake: prefer system libraries
2022-12-05 12:26:09 -05:00
Fernando Sahmkow
6352c5dc31
Vulkan: Implement Alpha coverage
2022-12-05 12:33:12 +01:00
Alexandre Bouvier
8e17b5469f
cmake: prefer system libraries
2022-12-04 17:09:25 +01:00
Liam
157981cac5
vulkan_common: add feature test for shaderDrawParameters
2022-12-04 10:55:13 -05:00
Liam
18831e0933
vulkan_common: clean up extension usage
2022-12-04 10:55:13 -05:00
Liam
ea56d8f388
vulkan_common: correct usage of timeline semaphore fallbacks
2022-12-04 10:55:13 -05:00
Liam
f23f875dd8
vulkan_common: ensure all mandatory features are tested in feature report
2022-12-04 10:55:13 -05:00
Liam
06a67d2bbd
vulkan_common: unsuffix 16-bit storage feature test structure
2022-12-04 10:55:13 -05:00
Liam
bbc1809951
vulkan_common: unsuffix timeline semaphore feature test structure
2022-12-04 10:55:13 -05:00
Liam
a9633ba8b2
vulkan_common: add logicOp to feature report
2022-12-04 10:55:13 -05:00
Liam
7fc6514be1
vulkan_common: promote host query reset usage to core
2022-12-04 10:55:13 -05:00
Liam
e44a804ec7
vulkan_common: promote descriptor update template usage to core
2022-12-04 10:55:13 -05:00
Liam
a948ab3e48
vulkan_common: promote timeline semaphore usage to core
2022-12-04 10:55:13 -05:00
liamwhite
02b10a6e4d
Merge pull request #9374 from liamwhite/externals
...
externals: update dynarmic, SDL2
2022-12-04 10:44:12 -05:00
Liam
6d2c597371
externals: update dynarmic, SDL2
2022-12-04 10:12:26 -05:00
bunnei
f77cc6c412
Merge pull request #9344 from liamwhite/null
...
video_core: add null backend
2022-12-03 11:23:25 -08:00
liamwhite
75e16547f8
Merge pull request #9300 from ameerj/pch
...
CMake: Use precompiled headers to improve compile times
2022-12-03 14:10:06 -05:00
liamwhite
22aff09b33
Merge pull request #9289 from liamwhite/fruit-company
...
general: fix compile for Apple Clang
2022-12-03 12:09:21 -05:00
liamwhite
ac0721a4bc
Merge pull request #9353 from vonchenplus/draw_indexed
...
video_core: Fine tuning the index drawing judgment logic
2022-12-03 10:43:34 -05:00
Matías Locatti
c043ba8467
Merge pull request #9303 from liamwhite/new-vulkan-init
...
Vulkan: update initialization
2022-12-02 18:32:54 -03:00
Liam
3ef006b5ab
shader_recompiler: add gl_Layer translation GS for older hardware
2022-12-01 09:51:27 -05:00
Feng Chen
cb5400b34d
video_core: Fine tuning the index drawing judgment logic
2022-12-01 19:14:58 +08:00
Liam
be05cb640c
vulkan_common: quiet some validation errors
2022-11-30 19:18:05 -05:00
ameerj
5b5612c1cc
CMake: Consolidate common PCH headers
2022-11-30 18:30:30 -05:00
Kelebek1
a78372110c
Respect render mode override
2022-11-30 01:43:36 +00:00
ameerj
37bc5118ea
CMake: Use precompiled headers
2022-11-29 18:50:49 -05:00
liamwhite
c845d8a9e8
Merge pull request #9352 from lioncash/vidcast
...
engines: Remove unnecessary casts
2022-11-29 18:45:16 -05:00
Lioncash
b6d93b2c77
host1x/syncpoint_manager: Eliminate unnecessary std::function construction
...
We can just pass the function object through, and if it's a valid
function, then it will automatically be converted.
2022-11-29 08:58:50 -05:00
Lioncash
c4af7b3f5c
host1x/syncpoint_manager: Pass DeregisterAction() handle as const-ref
...
The handle is only compared against and not modified in any way, so we
can pass it by const reference.
This also allows us to mark the respective parameters for
DeregisterGuestAction() and DeregisterHostAction() as const references
as well.
2022-11-29 08:55:33 -05:00
Lioncash
96ffc174aa
maxwell_3d: Mark shifted value as unsigned
...
Otherwise this is technically creating a signed int result that gets
converted. Just a consistency change.
While we're in the area, we can mark Samples() as const.
2022-11-29 08:39:33 -05:00
Lioncash
d7ec031419
engines: Remove unnecessary casts
...
In a few cases we have some casts that can be trivially removed.
2022-11-29 08:38:46 -05:00
Lioncash
a9efea8ae9
video_core/surface: Eliminate casts in GetFormatType()
...
We can just compare directly and get rid of verbose casting.
2022-11-28 20:25:44 -05:00
Liam
89dd7dc180
video_core: add null backend
2022-11-28 19:49:09 -05:00
Liam
2956a33463
Vulkan: update initialization
...
Co-authored-by: bylaws <bylaws@users.noreply.github.com>
2022-11-27 14:58:28 -05:00
bunnei
3ab8d9ac7c
Merge pull request #9276 from goldenx86/fsrSlider
...
FSR Sharpening Slider
2022-11-27 00:13:15 -08:00
liamwhite
3e53d8138c
Merge pull request #9288 from vonchenplus/deferred_draw
...
video_core: Fine tune maxwell drawing trigger mechanism
2022-11-26 09:35:45 -05:00
liamwhite
ddca512f3f
Merge pull request #9307 from Morph1984/not-used-correctly
...
maxwell_to_vk: Fix format usage bits and add R16_SINT
2022-11-26 09:08:55 -05:00
liamwhite
20b62dbd30
Merge pull request #9194 from FernandoS27/yfc-fermi2d
...
YFC - Fermi2D: Rework blit engine and add a software blitter.
2022-11-24 21:48:41 -05:00
Fernando Sahmkow
826e0785bf
Fermi2D: Cleanup and address feedback.
2022-11-24 21:00:48 +01:00
Fernando Sahmkow
3b582d5fb2
GPU: Fix buffer cache issue, engine upload not inlining memory in multiline and pessismistic invalidation.
2022-11-24 20:57:16 +01:00
Fernando Sahmkow
7356ab1de6
GPU: Implement additional render target formats.
2022-11-24 20:35:44 +01:00
Fernando Sahmkow
daf2ef8f1c
MaxwellDMA: Implement BlockLinear to BlockLinear copies.
2022-11-24 20:35:44 +01:00
Fernando Sahmkow
5fbd6954ef
Fermi2D: Implement Bilinear software filtering and address feedback.
2022-11-24 20:35:44 +01:00
Fernando Sahmkow
957840be91
Fermi2D: Rework blit engine and add a software blitter.
2022-11-24 20:35:44 +01:00
Matías Locatti
f209e976f4
FSR Sharpening Slider part 1 - only a global slider
2022-11-24 04:22:13 -05:00
Morph
852de7a771
maxwell_to_vk: Add R16_SINT
...
This was somehow missed when the format was added to GL
2022-11-23 21:30:58 -05:00
Morph
ca154d466a
maxwell_to_vk: Fix format usage bits
...
- VK_FORMAT_B8G8R8A8_UNORM supports the STORAGE_IMAGE_BIT
- VK_FORMAT_R4G4B4A4_UNORM_PACK16 does not support the COLOR_ATTACHMENT_BIT
2022-11-23 21:29:43 -05:00
Liam
9737615948
general: fix compile for Apple Clang
2022-11-22 22:22:28 -05:00
FengChen
1d57851fc7
video_core: Optimize maxwell drawing trigger mechanism
2022-11-22 17:53:26 +08:00
liamwhite
7f1c6def1f
Merge pull request #9216 from vonchenplus/reimp_inline_index_buffer
...
video_core: Reimplement inline index buffer binding
2022-11-20 12:08:08 -05:00
Morph
69c92b8156
Merge pull request #9249 from goldenx86/available-vram
...
Add available Vulkan VRAM to log files
2022-11-20 00:21:29 -05:00
bunnei
4975f60162
Merge pull request #9252 from liamwhite/radv-superiority
...
maxwell3d: HLE multi-layer clear macro
2022-11-19 01:46:48 -08:00
Morph
e5a446a0df
Merge pull request #9229 from Docteh/achy_breaky_heart
...
Add break for default cases
2022-11-17 19:20:18 -05:00
Liam
4c42655a2d
maxwell3d: full HLE for multi-layer clears
2022-11-17 08:31:43 -05:00
Liam
ece0c1095d
maxwell3d: HLE multi-layer clear macro
2022-11-16 22:28:58 -05:00
Matías Locatti
7c50a916c7
Update renderer_vulkan.cpp
2022-11-16 05:53:42 -03:00
Feng Chen
cb971ad654
video_core: Reimplement inline index buffer binding
2022-11-15 12:10:44 +08:00
Kyle Kienapfel
6fa3faec65
Add break for default cases
...
Visual Studio has an option to search all files in a solution, so I
did a search in there for "default:" looking for any missing break
statements.
I've left out default statements that return something, and that throw
something, even if via ThrowInvalidType. UNREACHABLE leads towards throw
R_THROW macro leads towards a return
2022-11-13 16:30:55 -08:00
bunnei
08091ff3e3
Merge pull request #9226 from Kelebek1/regs_regression
...
[video_core] Fix a couple regs regressions
2022-11-12 02:27:06 -08:00
liamwhite
e4d55e4ee4
Merge pull request #9204 from vonchenplus/dma_copy_1d_random_crash
...
video_core: Fix dma copy 1D random crash
2022-11-11 17:56:41 -05:00
liamwhite
c973029374
Merge pull request #9167 from vonchenplus/tess
...
video_core: Fix few issues in Tess stage
2022-11-11 08:03:40 -05:00
Kelebek1
33ea0fdfe8
Fix regs regression with OpenGL two-sided stencil, and re-add data invalidation reg
2022-11-11 04:04:36 +00:00
Morph
c9bb888adf
ir/texture_pass: Use host_info instead of querying Settings::values ( #9176 )
2022-11-11 03:32:53 +01:00
FengChen
d03afd6f4b
video_core: Fix dma copy 1D random crash
2022-11-11 00:23:45 +08:00
Liam
cbaf642ffe
Initial ARM64 support
2022-11-09 16:58:49 -05:00
FengChen
a4472b5526
video_core: Fix few issues in Tess stage
2022-11-07 15:42:42 +08:00
FengChen
aa97f39ba8
video_core:Fix vmm kinds size error
2022-11-06 22:31:22 +08:00
Fernando S
df38c03a09
Merge pull request #9163 from vonchenplus/draw_error
...
video_core: Fix drawing trigger mechanism regression
2022-11-06 01:13:59 +01:00
Morph
8baf036cdc
Merge pull request #9189 from vonchenplus/stupid
...
video_core: Fix scaling graphical regressions for multiple games
2022-11-05 11:57:52 -04:00
FengChen
7283010305
video_core: Fix scaling graphical regressions for multiple games
2022-11-05 17:21:02 +08:00
gidoly
9fc1bcc7b2
Update shader cache version. ( #9175 )
2022-11-04 03:16:01 -04:00
Feng Chen
75596c07e0
video_core: Fix SNORM texture buffer emulating error ( #9001 )
2022-11-04 02:39:42 -04:00
bunnei
38e4382f53
Merge pull request #8858 from vonchenplus/mipmap
...
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
Fernando S
3794851f7f
Merge pull request #9154 from liamwhite/new-fb
...
vk_blit_screen: recreate swapchain images on guest format change
2022-11-04 01:25:34 +01:00
Morph
74275d0968
Merge pull request #9097 from liamwhite/intel-spv-compiler
...
video_core: don't build ASTC decoder shader unless requested
2022-11-03 19:29:33 -04:00
liamwhite
de4afde065
Merge pull request #9143 from K0bin/scheduler-empty
...
vk_scheduler: Remove recorded_counts
2022-10-31 21:37:46 -04:00
FengChen
b42b894785
video_core: Fix drawing trigger mechanism regression
2022-10-31 21:57:38 +08:00
Fernando Sahmkow
67e0d38152
Vulkan: Fix regression caused by limiting render area to width/height of rendef targets.
2022-10-30 21:24:28 +01:00
Liam
808e22984f
vk_blit_screen: recreate swapchain images on guest format change
2022-10-30 15:04:16 -04:00
bunnei
72bff8ba11
Merge pull request #9140 from vonchenplus/darw_index_bufferx_first_error
...
video_core: Fix drawing trigger mechanism regression
2022-10-29 16:10:53 -07:00
Robin Kertels
dce242858a
vk_scheduler: Remove recorded_counts
2022-10-28 03:42:43 +02:00
FengChen
f6e7cae62c
video_core: Fix drawing trigger mechanism regression
2022-10-27 13:26:52 +08:00
FengChen
0ec1801bc1
video_core: Catch vulkan clear op not all channel need clear
2022-10-25 22:39:29 +08:00
liamwhite
fa913a702f
Merge pull request #9112 from vonchenplus/deferred_draw
...
video_core: Reimplementing the maxwell drawing trigger mechanism
2022-10-25 09:42:59 -04:00
bunnei
cbb6c24215
Merge pull request #8873 from vonchenplus/fix_legacy_location_error
...
video_core: Fix legacy to generic location unpaired
2022-10-24 10:50:24 -07:00
Morph
42c4ef7373
general: Resolve -Wunused-but-set-variable
2022-10-22 15:02:04 -04:00
Morph
c7e079a5d4
general: Resolve -Wunused-lambda-capture and C5233
2022-10-22 15:02:04 -04:00
Morph
bad3025951
decoders: Use 2's complement instead of unary -
...
Resolves C4146 on MSVC
2022-10-22 15:02:04 -04:00
Morph
93297d14d8
CMakeLists: Remove all redundant warnings
...
These are already explicitly or implicitly set in src/CMakeLists.txt
2022-10-22 15:02:04 -04:00
Fernando S
0860fffd78
Merge pull request #9095 from FernandoS27/meat-good-vegetable-bad
...
Maxwell3D/Puller: Fix regressions and syncing issues.
2022-10-22 13:06:03 +02:00
FengChen
2f90694797
video_core: Implement maxwell inline_index method
2022-10-22 16:58:23 +08:00
FengChen
1f54cd4ac7
video_coare: Reimplementing the maxwell drawing trigger mechanism
2022-10-21 17:09:22 +08:00
Morph
f16db300c6
format_lookup_table: Implement R32_B24G8 with D32_FLOAT_S8_UINT
...
This format is similar to Z32_FLOAT_X24S8_UINT, which is implemented with D32_FLOAT_S8_UINT.
Used in Persona 5 Royal
2022-10-21 01:54:57 -04:00
Liam
9524e28d20
video_core: don't build ASTC decoder shader unless requested
2022-10-19 18:52:42 -04:00
liamwhite
560bca57a2
Merge pull request #9071 from bunnei/mp-mm
...
Kernel Multiprocess (Part 1) - Persist memory & core timing
2022-10-19 16:27:43 -04:00
Fernando S
b8a70c9999
Merge pull request #9084 from vonchenplus/dma_copy
...
video_core: implement 1D copies based on VMM 'kind'
2022-10-19 06:56:00 +02:00
Fernando Sahmkow
3cb4498142
Maxwell3D/Puller: Fix regressions and syncing issues.
2022-10-19 06:21:51 +02:00