Commit Graph

53 Commits

Author SHA1 Message Date
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
Henrik Rydgard
8e1a5ef3d6 Minor refactor of physical device property/feature detection, to allow for more extension use. 2019-02-05 18:07:17 +01:00
Henrik Rydgård
0037da55a1 Avoid breaking any alpha-stencil emulation in Adreno bug workaround 2018-12-23 11:57:06 +01:00
Henrik Rydgård
79ef185d6e Vulkan/adreno: Apply workaround for Harvest Moon issue #10421 2018-12-22 18:29:56 +01: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
9859827645 Vulkan: Avoid depth clamp with clip range.
Vulkan clamps to the clip range, not the full range.  So when clipping, we
don't really want to clamp at all.  Unfortunately, when one side is
clipping, we can't do it exactly right.

But many games clip depth, like Dissidia.  Fixes #11260.
2018-09-17 21:43:29 -07:00
Unknown W. Brackets
77f0499f7f GPU: Rename clipping flag to depth clamp.
It seems to just to depth clamp.  When depth clamp happens, it affects
clipping a little, but only for vertices that needed clamping.
2018-08-05 17:11:51 -07:00
Unknown W. Brackets
b94ca6e75e Vulkan: Use depth clamping, where available.
This fixes, for example, Shadow of Destiny, even without the hack.
2017-12-26 16:54:39 -08:00
Henrik Rydgård
3e3214d54a Vulkan: Fix bug where shader blend texture overwrote normal texture binding. Fixes #10135 2017-11-15 20:43:29 +01:00
Unknown W. Brackets
ef55cf1e74 Vulkan: Correct logicop dirtying.
Needs to be under blend state.
2017-11-05 13:26:18 -08:00
Henrik Rydgård
ed2731d197 Vulkan: Fix depal and shader blending. 2017-10-31 12:35:00 +01:00
Henrik Rydgård
1c5bd0f8dc Move the VulkanRenderManager stuff to thin3d, fits in better there. 2017-10-26 10:56:59 +02:00
Henrik Rydgård
02f76ae4a8 Rendering basics now works. 2017-10-26 10:56:59 +02:00
Henrik Rydgård
804aa79376 Various Vulkan image transition fixes and related 2017-10-20 18:09:05 +02:00
Henrik Rydgård
5da165fad6 More work towards passing 1.61 Vulkan validation layers 2017-10-20 17:19:07 +02: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
c4ccf5b734 Simple micro-optimization in AdvanceVerts 2017-08-15 12:02:47 +02:00
Henrik Rydgård
4e7099bf47 Vulkan: Fix some more state dirtying issues. 2017-08-15 10:51:44 +02:00
Henrik Rydgård
000723f29f Fix minor blendstate oversight, restore a disabled optimization 2017-08-14 16:21:02 +02:00
Henrik Rydgård
5a65334646 Use dirty-flags more in Vulkan state setting 2017-08-14 15:14:46 +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
44423f3ba2 Vulkan: Implement BlitFramebuffer 2017-05-30 09:38:09 +02:00
Henrik Rydgård
a95b11c58f Don't forget to initialize logicop.. 2017-05-30 09:36:17 +02:00
Henrik Rydgård
2b93338255 Vulkan backend: Fix various issues, can almost run in buffered now (except the final blit) 2017-05-30 09:36:17 +02:00
Henrik Rydgård
d0f3e5cb89 Don't wipe the Vulkan pipeline key, allow for building it incrementally 2017-04-03 17:26:54 +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
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 Rydgard
08d173ceee Unify ApplyShaderBlending 2017-02-17 12:21:27 +01:00
Henrik Rydgard
e4cb44c243 Merge the texture flags into the dirty flags 2017-01-24 18:12:20 +01:00
Henrik Rydgard
b423998c36 Move uniform dirty-flag to gstate_c, opening up for other uses. 2017-01-24 18:12:20 +01:00
Henrik Rydgård
674937a520 Extend some enums with potentially useful values 2016-12-27 11:59:12 +01:00
Henrik Rydgard
40d05e292c Cleanup in FramebufferVulkan to reduce the size of future diffs 2016-03-28 20:23:29 +02:00
Unknown W. Brackets
1aa8370f11 Vulkan: Use logic ops when available. 2016-03-27 12:39:01 -07:00
Unknown W. Brackets
3a08ff5c06 Vulkan: Use new stencil state calculation. 2016-03-26 20:15:41 -07:00
Henrik Rydgard
966cb89d41 Vulkan: Fix our use of dual source blending, re-enable if available. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
2481714a8e Load Vulkan dynamically. Fix Android build (though - Vulkan is not working on Android yet) 2016-03-20 19:30:11 +01:00
Henrik Rydgard
1677697735 Vulkan: Don't try to overlap proj with proj_through, will need a different approach.
Also, assorted bugfixes.
2016-03-20 19:30:11 +01:00
Henrik Rydgard
4b978b1fd3 Crashfix, fix left-behind culling disabling 2016-03-20 19:30:11 +01:00
Henrik Rydgard
3bf88d7475 Plug the texture memory leak 2016-03-20 19:30:11 +01:00
Henrik Rydgard
29341e53a5 Assorted fixes and cleanups. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
7eeba080c7 Fix primitive topology. Crashfix. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
ec6bc4a5f6 Vertex format fixes. Flip through drawing the right way up. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
6b8c004561 Fix indexed drawing, flip rendering the right side up, enable culling 2016-03-20 19:30:11 +01:00
Henrik Rydgard
d67d187b72 Get untextured drawing working! (at least cube.elf) 2016-03-20 19:30:11 +01:00
Henrik Rydgard
28ae840abe Pipelines, samplers, description sets, oh my 2016-03-20 19:30:11 +01:00