Commit Graph

42 Commits

Author SHA1 Message Date
lightningterror 6bcd118b62 gsdx-d3d11: Adjust anisotropic filtering handle.
Previous behaviour:
Anisotropic filtering was continuing to run even with Nearest filtering.
On opengl it doesn't run on nearest filtering. The gui for both
renderers also greys out aniso when nearest is selected.

Anisotropic filtering being able to run on palette texture. This caused
to break the rendering on palette textures for games that use it.

PR behavior:
The PR corrects both of these behaviors, Aniso won't run on palette
textures as well as nearest filtering.

Test cases for observing the issues were used: Star Ocean 3, Fifa
Street.
2020-01-26 22:02:19 +01:00
lightningterror 99f814d376 gsdx-ogl/d3d11: Add a assert when texture is too small or too big.
Add an assert for when texture is below 1 on direct3d/ogl.
Add an assert for when texture is above direct3d limit.
2019-08-26 15:55:43 +02:00
lightningterror de7a3b70c9 gsdx-d3d11: Adjust maximum texture size limit based on available feature level.
d3d10 = 8192
d3d11 = 16384

Seems it is easier to hit the limit. Champions of Norrath with 8x
upscale for example.
2019-08-26 15:55:43 +02:00
lightningterror 91570a9e0f gsdx-ogl/d3d11: Also ensure that we set proper ini values for Shade Boost sliders.
Should avoid any potential issues if ini values are wrong for shade
boost.

Bonus: Fix gui overlapping issues when sliders are on maximum (100).
2019-07-17 01:16:46 +02:00
lightningterror 56b8612502 gsdx-d3d11: Set maximum allowed texture size to d3d10 limits which is 8192.
Should prevent any issues if we ever go over the limit.
2019-07-15 22:32:45 +02:00
lightningterror 40929a4728 gsdx-d3d11: Add rgba channel selection/support to StretchRect. 2019-06-23 23:34:25 +02:00
lightningterror 300f16df61 Gamedb/gsdx-hw: Add gamefix patch and crc id for Harry Potter and the Prisoner of Azkaban EU.
Gamefix patch source:

https://forums.pcsx2.net/Thread-Fixing-unplayable-games?pid=600492#pid600492
2019-06-18 22:34:17 +02:00
lightningterror 9401e52b08 gsdx-d3d11/gui: Move the nvidia hack toggle to Disable Safe Features.
With the sprite hack removed it was no longer possible to toggle this
hack on nvidia gpus, the toggle has been moved to Disable Safe Features.

It some issues caused by the hack in sotc, fatal frame and border offset
issues.
2019-06-18 22:06:35 +02:00
lightningterror 34bedddd5c gsdx-d3d11: Update nvidia hack handling.
Don't query the api for the adapter description twice.
2019-06-16 20:42:28 +02:00
KrossX 39f509feaa gsdx-hw: Remove no longer needed Sprite hack, replaced by improved atst code already. 2019-06-16 20:42:28 +02:00
KrossX 6a122268cb gsdx-d3d11: Update d3d shader macro handling to a much better algorithm.
Bonus, remove unused options variable
D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS.
2019-06-16 20:42:28 +02:00
hibye8313 718042e6a6 GSdx: Made a DX11/OGL-independent blend map in GSDevice.cpp. Convert to OGL/DX11 specific constants at run time. 2019-06-13 13:25:46 +02:00
lightningterror 976b77f144 gsdx-hw: Use std max for scaling factor, bonus add jak3 crc id for eu preview/us international release. 2019-06-01 16:46:17 +02:00
Kojin 2d46bc661d gsdx-d3d11: ensure texture size of at least 1x1 2019-05-11 22:23:12 +02:00
Gregory Hainaut 643ed528c2 gsdx hw: allow to create sparse texture at device level
Obviously texture allocation should be updated too
2019-04-26 12:40:04 +02:00
Kojin 73e3072715 GSdx-d3d11: Enable break on D3D message
Enable automatic breaking on d3d11 messages:
- D3D11_MESSAGE_SEVERITY_CORRUPTION
- D3D11_MESSAGE_SEVERITY_ERROR
- D3D11_MESSAGE_SEVERITY_WARNING
- D3D11_MESSAGE_SEVERITY_INFO

Hidden option dx_break_on_severity bitfield

Debug build only.
2019-04-08 00:45:50 +02:00
Gregory Hainaut dbffad2aef gsdx hw: use non virtual Create Texture function.
Just do the format check in FetchSurface. It removes a level of virtual function
and avoid useless code duplication.
2019-02-02 22:54:30 +01:00
lightningterror ee7749452d gsdx-d3d11: Remove unused function OMSetRenderTargets with UnorderedAccessView.
Note ID3D11UnorderedAccessView parameters are also unused but could be
useful for future DATE ports.
2019-01-28 21:01:22 +01:00
Kojin af64865c5d gsdx-d3d11: Framebuffer copy improvements
Improved handling of frame buffer copy by accounting for fb read on all slots.

- implement before/after draw functions
- defer setting of resources on the api to just before the draw
- use a bitfield to keep track of set/copied resources
- recycle copies after draw

Fixes: RE4 and Tales of Abyss
2019-01-27 16:40:39 +01:00
lightningterror 744fa18d95 gsdx-d3d11: Merge/move GSDeviceDX code to GSDevice11.
Update VS and cmake project files, remove GSDeviceDX files.
2019-01-26 16:13:07 +01:00
lightningterror 2aadf0be89 GSdx: Adjust Scaling Factor.
Use value of 1 when upscale multiplier is 0 for ScalingFactor, this is
to avoid doing math with 0 in shader.

It helps custom res be less broken. Still not recommended to use custom
res ofc.
2019-01-22 23:25:01 +01:00
Kojin 468b9ded46 gsdx-d3d11: Update texture copy method to handle depth
- Rename CopyRenderTarget to CloneTexture
- Allow copy of depth target

Also fix a small oversight from the removal of MSAA.
2019-01-22 06:52:24 +01:00
Kojin 57824261c6 gsdx-d3d11: Cache rt depth stencil on m_state
Cache the depth stencil in addition to color rt.
This will allow us to check for depth stencil equality on slot 4.
2019-01-22 06:52:24 +01:00
Kojin e429677a07 gsdx-hw: Completely remove MSAA from renderer code. 2019-01-15 19:13:14 +01:00
lightningterror 54f8aca7d5 GSdx-d3d11: Re enable shader code logging.
Log was disabled in #2760
2019-01-04 01:00:10 +01:00
Kojin a5564896ea gsdx-d3d11: remove useless gs creation method 2018-12-25 13:38:19 +01:00
Kojin e0c598f38e gsdx-d3d11: Enable HLSL debugging on development builds
Enable HLSL compile flags that allow devs to use tools such as NSight or VS Graphics debugging for HLSL.
2018-12-25 13:38:19 +01:00
Kojin dc2eed6ca1 gsdx-d3d11: Fix CopyOffscreen bug
Update CopyOffscreen to accept the ps_shader value when doing StretchRect.
This fixes an issue where it was selecting the wrong PS for depth cache read.

Should (hopefully) fix SMT.
2018-12-23 15:20:04 +01:00
Kojin e51eadaf16 gsdx-osd: Update m_font to use unique_ptr 2018-12-20 15:32:04 +01:00
Kojin 5e75a66f82 gsdx-d3d11: Port RenderOsd function from opengl to support osd on d3d11 2018-12-20 15:32:04 +01:00
Kojin 5713993777 convert.fx: Add color support to IA
Support color input in vs and ps.
Skipping dx9.
2018-12-20 15:32:04 +01:00
lightningterror 63bbf52219 GSdx-d3d11: Adjust DATE code, and remove rtCopy.
Remove DATE shader macro and bit.
Remove useless HasStencil case. If DATE is enabled stencil is also
enabled, this check is useless.
Remove leftover rt and rtCopy code case from d3d9.

Remove traces of rtCopy and sampler in slot 2.

rtcopy
2018-12-20 14:42:56 +01:00
Kojin 5527bcb13e GSdx-debug: Do some casts and fix warnings. 2018-12-17 15:52:27 +01:00
Kojin ef0ebd6517 gsdx-d3d11: Copy render target when it matches texture in slot 4
Needed for channel shuffle, this copies the render target when it's
the same as the resource texture bound on slot 4.
2018-12-17 11:43:15 +01:00
Kojin 554b797b92 gsdx-d3d11: Move shader/sample state set to it's own function 2018-12-17 11:43:15 +01:00
Kojin 84dbdd6b18 gsdx-d3d11: Add CopyRenderTarget function 2018-12-17 11:43:15 +01:00
Kojin 1427d55b08 gsdx-d3d11: Store shader resource textures on GSDevice11 2018-12-17 11:43:15 +01:00
Kojin a743707728 gsdx-d3d11: Store render target texture in GSDevice11 2018-12-17 11:43:15 +01:00
Kojin ade00f8a70 GSdx-d3d: Support depth as texture.
- Create depth as typeless format and bind shader resource flag.
- Create depth and shader resource view using proper typed formats.
2018-12-10 00:17:04 +01:00
lightningterror 4328d099c4 GSdx-d3d: Add support to write in depth buffer.
Add support for dss_write.
Enable writing in depth buffer for dss_write,
when depth conversion is active data will be writen in the depth buffer,
if not then use the old method (don't write).
2018-12-10 00:17:04 +01:00
lightningterror 9899d0d6b7 GSdx: Always enable Unscale Point and Line.
Always enable unscale point and line hack on upscaled resolutions, and
purge the gui option.

It was discussed in the past with Gregoy that it can be enabled without
causing any issues which will be beneficial to getting rid of 1 less
option and fixing a bunch of fmv issues without relying on a gui toggle.
2018-11-26 17:13:45 +01:00
arcum42 2e1db411fa GSdx: Folder Reorganization. (#2657)
This pull request is for the pending reorganization of the folder structure on GSdx,
making it better organized and easier to work with.

Also remove unused GSTextureFX.cpp file.
2018-11-16 19:41:37 +01:00