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