Commit graph

46 commits

Author SHA1 Message Date
Unknown W. Brackets
ad98609819 GPU: Use consistent buffered rendering state.
The setting can be changed in Qt and Windows between frames, so let's
track the current setting in most places.  This is everywhere fbman is
easily accessible.
2020-04-04 10:51:47 -07:00
Unknown W. Brackets
c5b844cc98 GPU: Respect stencil write mask on clear.
Actually identified this for the softgpu in #11319, but applying it for
RGBA is a problem in most renderers.  Forgot to at least apply it to
stencil.

Fixes #11901.
2019-03-16 19:42:18 -07:00
Unknown W. Brackets
5932cbabc3 GPU: Avoid stencil emulation if possible.
This reduces use of replaceAlpha, and reduces use of more complicated
blend states.  This simplifies fragment shaders a little.
2018-12-01 14:05:29 -08:00
Unknown W. Brackets
b7d84926fa D3D11: Enable depth clamping.
Uses the same logic as Vulkan, improving #9545 on most D3D11 devices.
2018-09-18 21:49:17 -07:00
Unknown W. Brackets
61fc1cdcfb GPU: Dirty tex when clearing or rendering to self.
This way if we're blitting, we'll re-blit.
2018-06-06 05:52:49 -07:00
Unknown W. Brackets
22f65500f1 GPU: Fix shader blending recopying.
This at least didn't look horrible like GLEs did, but still looked
odd in Lunar.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
b75c8b72c6 Fix another little inconsistency (two uniforms were merged for bad reasons) 2017-12-07 21:39:09 +01:00
Unknown W. Brackets
0dee041002 D3D11: Change state caches to DenseHashMaps. 2017-12-02 18:55:02 -08:00
Henrik Rydgård
50d771961b Vulkan: More minor optimization (avoid pipeline cache lookups when possible) 2017-08-15 16:01:50 +02:00
Henrik Rydgård
4e7099bf47 Vulkan: Fix some more state dirtying issues. 2017-08-15 10:51:44 +02:00
Henrik Rydgård
5a65334646 Use dirty-flags more in Vulkan state setting 2017-08-14 15:14:46 +02:00
Henrik Rydgard
f01da87ab2 D3D11: Make better use of the dirty flags to avoid state calls 2017-08-14 11:36:03 +02:00
Henrik Rydgard
4e55654522 Add some missing VIEWPORTSCISSOR dirtying. 2017-08-14 11:35:11 +02:00
Henrik Rydgard
1098bf7342 All: Only convert viewportscissor state if dirty 2017-08-14 11:14:26 +02:00
Henrik Rydgard
e439055a32 All: Only convert raster state if dirty 2017-08-14 11:14:26 +02:00
Henrik Rydgard
e2b179d6e2 All: Only convert depth stencil state if dirty 2017-08-14 11:14:26 +02:00
Henrik Rydgard
e4567c694c All: Only convert blend state if "dirty" 2017-08-14 11:14:26 +02:00
Henrik Rydgård
156bd47155 D3D11: Don't manually wipe the state keys. Make sure that the keys are properly initialized. 2017-04-03 17:20:31 +02:00
Henrik Rydgård
5a8e9c4f71 Port some accessors over from #9255 to be able to catch these changes and dirty state later. 2017-04-03 17:04:58 +02:00
Henrik Rydgård
1faae8b6d6 Port some other minor changes over from #9255 2017-04-03 16:47:30 +02:00
Henrik Rydgård
0903bfb5f5 More D3D11 reorg 2017-04-03 16:37:11 +02:00
Henrik Rydgård
73d762f506 Reorganize raster state mapping 2017-04-03 16:37:11 +02:00
Henrik Rydgard
cffb1d7014 Reorganize depth-stencil 2017-04-03 16:37:11 +02:00
Henrik Rydgard
d581a96d79 All backends: Reorganize blend state mapping to make dirty-tracking easier 2017-04-03 16:37:08 +02:00
Henrik Rydgård
474db602ca UWP: Fix screen rotation in non-buffered rendering mode 2017-03-07 15:32:26 +01:00
Henrik Rydgard
9d116505cf D3D11: Add a large amounts of asserts 2017-03-05 10:34:44 +01:00
Henrik Rydgard
480a05d845 D3D11: Specify DepthClipEnable = TRUE when creating rasterizer states, required on D3D11_level_9. Fixes the Pursuit Force glitch in #9361 2017-03-05 10:34:28 +01:00
Henrik Rydgard
89ac1a5c4a Minor D3D11 scissor fix 2017-02-24 12:33:27 +01:00
Henrik Rydgard
d7238c39e9 Disable logic ops, the D3D11 debug layer says they don't work anyway.. 2017-02-18 12:17:51 +01:00
Henrik Rydgard
3713f4e6e6 D3D11: implement support for logic op blending when available 2017-02-18 02:14:26 +01:00
Henrik Rydgard
584650a0c2 Initial preparations for logic op support 2017-02-18 01:41:08 +01:00
Henrik Rydgard
061685678d State management fixes. DBZ toon shader effect now works. 2017-02-17 17:34:21 +01:00
Henrik Rydgard
e83dd2b524 Minor cleanup, elimintate some bind ordering hazards that D3D11 warns about 2017-02-17 14:31:02 +01:00
Henrik Rydgard
08d173ceee Unify ApplyShaderBlending 2017-02-17 12:21:27 +01:00
Henrik Rydgard
4538edad14 Work towards enabling shader blending on D3D11 2017-02-17 12:21:18 +01:00
Henrik Rydgard
b51bcd2247 D3D11 Stencil ref fix, fixes Star Ocean stencil-depth 2017-02-14 01:54:00 +01:00
Henrik Rydgard
94860b6636 Additional D3D11 fixes 2017-02-13 01:38:52 +01:00
Henrik Rydgård
6033b1ee05 D3D11: Some cleanup. Fix backface culling. Wipeout still looks weird... 2017-02-12 18:29:58 +01:00
Henrik Rydgård
3b12ac5f05 D3D11: Stencil and scissor work 2017-02-12 17:09:53 +01:00
Henrik Rydgård
abbd6cb1d1 Fix DrawActiveTexture, now Buffered Rendering is starting to work 2017-02-12 11:20:55 +01:00
Henrik Rydgard
7750ee9f7b D3D11: Fix reversed colors, stencil improvements 2017-02-10 11:36:09 +01:00
Henrik Rydgard
9a6f3ccfad D3D11: Fix depth state 2017-02-10 00:37:56 +01:00
Henrik Rydgard
aba669c3e6 D3D11: Cube now visible 2017-02-10 00:30:42 +01:00
Henrik Rydgard
f9b840dbfd More D3D11 progress 2017-02-10 00:01:56 +01:00
Henrik Rydgard
ba95e0f4d9 Initial stab at porting the DX9 backend to D3D11. Not working yet. 2017-02-09 13:28:40 +01:00
Henrik Rydgard
175b97ef34 Start stubbing out a new D3D11 backend 2017-02-08 17:35:41 +01:00