TheLastRar
bc8151d2a4
GS/DX12: Fix recreating swapchain failing on vsync mode changes
2026-01-28 16:36:27 +00:00
TheLastRar
43e073a18d
GS/DX12: Fix validation errors when depth testing and sampling
2026-01-01 01:20:13 +01:00
TheLastRar
1fdc000815
GS/DX12: Don't move to next command list until after wait
2025-12-29 17:04:28 +01:00
TheLastRar
600ac6ec4f
GS/DX12: Always require barrier of feedback read
2025-12-24 21:13:31 +01:00
lightningterror
579cb7bd27
GS/HW: Use copies if barriers aren't supported properly.
...
VK/GL: Tex is fb requires the copy to be bound on slot 0 as well.
Fixes validation errors on VK when barriers are force disabled.
DX12: Always create a copy if barriers aren't supported for sw blend or tex is fb.
Fixes issues when barriers are force disabled.
2025-12-20 14:06:40 +01:00
TheLastRar
cb026a6946
GS/DX12: Fix handling of stencil DATE one
...
Co-Authored-By: lightningterror <18107717+lightningterror@users.noreply.github.com >
2025-12-16 16:57:16 +01:00
TheLastRar
cb5124da4b
GS/DX12: Enable GBV with the debug device
2025-12-16 16:57:16 +01:00
TheLastRar
7c88af9c73
GS/DX12: Use aliasing resources for feedback
2025-12-16 16:57:16 +01:00
lightningterror
7cc8c7eee6
GS/DX12: Add debug log when end stencil is discarded.
2025-12-13 14:48:22 +01:00
lightningterror
dd96f2c296
GS/DX12: Preserve end stencil when doing fb copies.
...
When copying the fb we require the stencil data to be valid so let's preserve it.
2025-12-13 14:48:22 +01:00
lightningterror
aedaf5a9a7
GS/DX12: Disable broken point sampler, only dx11 requires it.
2025-12-07 18:00:13 +01:00
lightningterror
d83417ba0d
GS/HW: Properly disable dual source output between multipass blending.
...
Fixes api warning on dx11: The Pixel Shader expects a Render Target View bound to slot 1, but none is bound.
Might also fix some potential crashes on intel gpus on all apis (mostly dx11/12).
2025-12-07 18:00:13 +01:00
TJnotJT
35624a12d9
GS/HW: Refactor StretchRect() to have single entry to renderer/reduce duplication.
2025-11-25 18:38:52 +01:00
lightningterror
7b2eb7bc47
GS/DX11: Do Stencil date_one in a single pass if there's a barrier.
...
We currently have a barrier so let's do date_one in a single pass, plus this avoids any issues with copies and stencil issues.
On dx copies are slower so we can only use the optimization if we have barriers already present.
2025-11-25 16:58:27 +01:00
lightningterror
9aabb197e6
GS/DX12: Misc Fixes.
...
Properly unbind slot 0 if previous draw was tex is fb or tex is ds.
Mirrors vk behavior.
Don't recycle draw_rt_clone in colclip, it's null at this point anyway.
Don't bind rt on slot 2 if we have multidraw fb copy enabled.
Mirrors barrier behavior on vk.
2025-11-19 01:45:42 +01:00
refractionpcsx2
44d66555cc
GS/HW: Add options to maintain upscale in Native Scaling
...
This will adjust how the box filter samples to simulate bilinear when upscaling
2025-11-11 21:19:02 +01:00
lightningterror
d744f0dfeb
GS/DX12: Backport multidraw fb copy from dx11 to dx12.
2025-10-10 08:10:31 +02:00
lightningterror
b7e17646a3
GS/DX12: Backport dx11 full rt copy optimizations.
...
We are copying the whole RT so just call CopyResource instead of CopyTextureRegion which will be faster.
2025-10-08 02:24:32 +02:00
lightningterror
9674fd773c
GS/DX12/VK: Fix CopyRect partial clear regression.
...
Partial clears texture type should be either render target or depth stencil.
2025-10-03 07:39:52 +02:00
lightningterror
01e916b132
GS/HW: Remove rebinding read only dsv after framebuffer optimizations on dx11.
...
The condition would never be triggered so useless.
Clean up SendHWDraw across renderers.
Recycle tex for rt copy if colclip tex fails.
Set flags for colclip CreateRenderTarget clear to false on dx11, consistent across renderers.
2025-10-03 07:39:52 +02:00
lightningterror
1867791653
GS/DX12: Backport depth test and sampling from dx11.
...
Unlike in dx11 where we create a separate dsv as read only we can transition the current dsv as read only which is cleaner.
2025-10-03 07:39:52 +02:00
lightningterror
74be344ce6
GS/Debug: Add log for CopyRect if rect is empty.
2025-09-26 00:10:19 +02:00
lightningterror
2ef2adf517
GS/HW: Abort copy if rect is empty.
2025-09-25 03:42:25 +02:00
lightningterror
427096dc29
GS/HW: Adjust texture copies perfmon info for CopyRect.
...
If we are optimizing out copies we don't need to increment the perf monitor info.
Also remove duplicate tex copies perf monitor info in tc as we already add it in CopyRect function.
2025-09-20 02:27:50 +02:00
lightningterror
a7f948c00f
GS: Backport and unify CopyRect optimizations to avoid redundant copies.
...
Moved the shared code in GSDevice where it can be shared between renderers.
Backported optimizations to DX11/GL/Metal:
Source is cleared, destination is a render target, and it's a full copy
we can clear it instead.
Source is cleared, destination is a render target, destination is cleared,
if it's the same colour and rect, we can just avoid this entirely.
2025-09-20 02:27:50 +02:00
lightningterror
567b0173ec
GS/DX11: Support multidraw framebuffer copy for sw blending, fbmask.
...
Instead of using barriers we can do a multi fb copy for each draw split to replicate
barrier behavior, however it will be much slower.
2025-08-28 17:42:46 +02:00
TellowKrinkle
8fd91cb7df
Formatting: Apply AlignWithSpaces
2025-07-31 15:20:27 +02:00
TheLastRar
bb1e6d06e4
FSUI: Support RendererHasTextures
2025-07-12 20:10:59 +02:00
lightningterror
197b9fc560
GS/HW: Check if primid texture exists instead if it's a primid draw.
...
Makes local testing easier to null out primid tex.
Also match naming between gl and dx11.
Change some longs to warning level.
2025-06-23 09:59:22 +02:00
refractionpcsx2
d1dc6a9c1d
GS/HW: Add 16bit to 8bit conversion shader
2025-06-05 13:51:21 +02:00
lightningterror
c1baab68d0
GS: Better handle hazards when dx12/vk device creation fails.
...
VK/DX12: Move CreateNullTexture before reading shader resource.
Fixes null pointer dereference.
VK: Check if vertex buffer is valid before binding.
Fixes vertex buffer validation error null handle.
2025-06-02 21:28:41 +02:00
lightningterror
79d22a8d77
GS/HW: Add/adjust logs for failed texture creation.
2025-05-31 02:04:12 +02:00
lightningterror
9914212600
GS/GL: Add another hazard check, colclip hw.
...
Bonus, add missing texture copies info when doing shader copies.
2025-05-31 02:04:12 +02:00
refractionpcsx2
d70cc0221a
GS/DX12: Fix HDR copy scissor area
2025-05-28 22:32:12 +02:00
lightningterror
0799bb8cf1
GS/DX: DX requires a copy to sample the depth buffer.
2025-05-17 22:54:04 +02:00
refractionpcsx2
f90396bda4
GS/DX12: Fix command list not flushing when in surfaceless mode.
2025-05-16 12:25:16 +02:00
lightningterror
17bf27c018
GS/DX12: Copy/bind rt when tex is fb on slot 0.
2025-04-19 17:05:22 +02:00
Filoppi
a545982a28
GS: Fix crash if CAS pipeline failed to compile (it'd crash when the user enables CAS, which is still enough of a good reason to make the whole rendering backend fail to initialize)
2025-04-18 19:11:11 +02:00
Filoppi
2109df04ca
GS: Remove duplicate shader creation for RTA correction. The same shader would have been created just above.
2025-04-18 19:11:11 +02:00
Filoppi
718adda749
GS: Fix DX12 setting the object names for the wrong pipelines (possibly causing random memory writes), also fix some bad naming
2025-04-18 19:11:11 +02:00
Filoppi
a170c7ccb1
GS: Fix DX12 m_color_copy shaders not applying the right RTA_CORRECTION offset (see the VK implementation, which is identical except for this issue)
2025-04-18 19:11:11 +02:00
Filoppi
8be2b907b3
GS: Add actual HDR and HQ textures and rename the "HDR" textures to colclip (hw) given that's actually what they are (HDR was a very loose term for it)
2025-04-18 19:11:11 +02:00
refractionpcsx2
2d6a42ac06
GS/HW: Reduce number of copies for HDR
2025-02-03 16:48:47 -05:00
TheTechnician27
23fd57f641
Copyright: Change year from 2002-2024 to 2002-2025
2025-01-20 05:07:26 +01:00
TheLastRar
0600832ddb
3rdparty: Update ImGui to v1.91.7
2025-01-18 15:17:33 -05:00
lightningterror
d52f29dcd7
GS/D3D12: Properly name logs with D3D12 prefix.
2024-12-31 20:11:25 +01:00
lightningterror
9e15058634
GS/D3D12: Disable DX12 if feature level is not detected.
...
Intel Haswell doesn't actually support DX12 even tho the device is created which results in a crash,
to get around this check if device can be created using feature level 12 (skylake+).
2024-10-23 10:11:06 -04:00
KamFretoZ
d12ef2b17c
OSD: Add GPU Info ( #11808 )
...
* OSD: Add GPU Info
* Qt: More Translatable Strings
2024-09-15 08:24:05 -04:00
lightningterror
c688db8f08
GS/HW: Rename blend second pass to blend multi pass.
...
Easier if I want to add more passes.
2024-08-14 12:35:52 +02:00
GovanifY
132431b7c8
headers: relicense to GPL-3.0+
...
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00