Unknown W. Brackets
8f354e5312
GPU: Minor framebuffer code cleanup.
2018-06-06 05:56:30 -07:00
Unknown W. Brackets
7c8780bfb6
GPU: Remove some unused code.
2018-06-06 05:56:29 -07:00
Henrik Rydgård
c1d113e0e9
When creating temp framebuffers for download, size them using bufferWidth/Height instead of width/height.
...
Or maybe we should make sure to only download within the width/height by
adding more clamps at the beginning of ReadFramebufferToMemory but seems
more dangerous.
Plus some minor things.
Should help #11113
2018-06-01 21:16:07 +02:00
Henrik Rydgård
011e57c0e7
Always specify GLSL version 450 when compiling Vulkan shaders.
...
Bit of a risky change so late in the game but it's wrong, it needs fixing.
See for example the comments to fb7a63bd11
2018-05-13 20:42:17 +02:00
Unknown W. Brackets
8d07e6d985
GPU: Prevent temp FBOs from overwriting each other.
...
Sometimes we'd use two temp FBOs in the same draw (e.g. shader blending +
depal.) This could cause the same temp FBO to get used for two purposes,
causing weird behavior.
2018-05-06 08:57:44 -07:00
Unknown W. Brackets
5f27a2e60a
Vulkan: Track tags on emu textures.
2018-04-06 21:43:18 -07:00
Henrik Rydgård
ca0fb77080
Assorted cleanups. Don't assert on no clear mask.
2018-04-06 23:29:44 +02:00
Unknown W. Brackets
98d4131003
Vulkan: Show post-shader compile errors to user.
2018-04-01 19:47:19 -07:00
Henrik Rydgård
b5e5d72a0a
Complete the separation of depth and stencil renderpass flags
2017-12-30 22:52:22 +01:00
Unknown W. Brackets
0956fa3ff6
GPU: Reduce depth blits when not updated.
...
If the game initially clears the depth in a buffer, but then never uses
that depth again, don't keep blitting depth.
Improves #8538 , by preventing the depth blits in this case.
2017-12-24 11:52:15 -08:00
Henrik Rydgård
aa0cc6712f
Clip block transfer destinations. Should fix crash in #10011 . Stats: Invent some sort of usage metric for device memory allocators.
2017-12-03 15:00:25 +01:00
Henrik Rydgård
d0c248368d
Use a VulkanDeviceAllocator for thin3d textures. Many devices have a hard limit on the total number of allocs and it's unnecessary to have the UI put pressure on that.
2017-12-03 10:29:41 +01:00
Henrik Rydgård
b87f447e76
Buildfix, oops
2017-12-01 16:53:54 +01:00
Henrik Rydgård
d2fe42ea90
Vulkan: Fix crash bug when post processing shaders failed to compile.
2017-12-01 13:44:45 +01:00
Henrik Rydgård
f8b70fe185
Clean up all the FBOs in DestroyAllFBOs. Missing any can have bad consequences after app switching on Android/Vulkan where we recreate stuff.
2017-12-01 12:17:10 +01:00
Henrik Rydgård
be115822f7
Minor cleanup. Add a debug assert in shader ID calculation
2017-12-01 11:23:09 +01:00
Unknown W. Brackets
7339c6c0fd
Vulkan: Report more info on texture from target.
2017-11-30 15:42:21 -08:00
Henrik Rydgård
ac518f819a
Vulkan: Fix stencil clears to a specific value. Should help #10150
2017-11-18 00:33:20 +01:00
Henrik Rydgård
23f7819329
Unify RebindFramebuffer, mostly.
2017-11-15 20:44:25 +01:00
Henrik Rydgård
de67c9feff
Vulkan screenshots: Fix R/G swap bug. Thanks unknown.
2017-11-15 17:07:38 +01:00
Henrik Rydgård
10792cc8e7
Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though...
2017-11-15 13:18:29 +01:00
Henrik Rydgård
3dd08b84fe
Fix bug where readback buffers would be created too small sometimes. Should help #10098
2017-11-12 21:14:53 +01:00
Henrik Rydgård
232e30f4db
Vulkan: When deriving stencilref from color, don't forget to update the value.
...
Plus minor cleanups.
2017-11-12 19:33:21 +01:00
Henrik Rydgård
b8dc4d1fb8
Buildfixes for Android
2017-11-12 16:55:36 +01:00
Henrik Rydgård
93e148fed6
Vulkan: Implement post-processing. The Vulkan backend is now "feature-complete", and GL is now legacy :P
...
Bit hacky but works.
2017-11-12 16:12:26 +01:00
Henrik Rydgård
8b42d83123
Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
...
Plus more logging, of course.
2017-11-09 17:25:37 +01:00
Henrik Rydgård
6eb58b1252
Keep the draw context up to date in a bunch of places. More logging.
2017-11-09 16:28:22 +01:00
Henrik Rydgård
ca7a2d06ca
Vulkan: Implement stencil upload (for Star Ocean).
2017-11-01 14:18:39 +01:00
Henrik Rydgård
96cd368878
Make VulkanTexture "immutable".
2017-11-01 08:49:48 +01:00
Henrik Rydgård
700d6d10f4
Always recreate DrawPixelsTex to avoid inter-frame races.
2017-11-01 08:48:06 +01:00
Henrik Rydgård
90d4296a6a
Add a QueueRunner logging facility. Set up a subpass dependency for the backbuffer pass.
2017-11-01 08:45:14 +01:00
Henrik Rydgård
ed2731d197
Vulkan: Fix depal and shader blending.
2017-10-31 12:35:00 +01:00
Henrik Rydgård
65e23bb9f3
Some reorganization. Start implementing framebuffer depal for Vulkan.
2017-10-31 12:34:31 +01:00
Henrik Rydgård
93c785b76d
Color-convert directly during the readback, saves a copy. Like we already do in D3D11.
2017-10-29 10:56:36 +01:00
Henrik Rydgård
613cc46285
Remove a bad check making us use the wrong way to copy depth buffers. Add a cap so we can try to unify BlitFramebufferDepth later.
2017-10-26 10:57:00 +02:00
Henrik Rydgård
85cb604a24
Fix (some) crashes on blits. Validation issues remain.
2017-10-26 10:57:00 +02:00
Henrik Rydgård
c4f0afc8a2
Clean out some obsolete code
2017-10-26 10:57:00 +02:00
Henrik Rydgård
b5e06f3c7d
VulkanRenderManager: BindPipeline should really be its own command. Tighten up some image transitions.
2017-10-26 10:57:00 +02: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
0a0494ef8e
It builds! With some shortcuts, of course.
2017-10-26 10:56:59 +02:00
Henrik Rydgård
d53c88456a
Unify GetFramebufferList() (trivial)
2017-10-18 12:49:15 +02:00
Henrik Rydgård
898716cc26
Unify DownloadFramebufferForClut
2017-10-18 12:34:01 +02:00
Henrik Rydgård
17576d7894
Remove more dummy code from Vulkan backend.
2017-10-18 12:27:58 +02:00
Henrik Rydgård
981c49615c
Unify FlushBeforeCopy. Remove old dummy methods from Vulkan framebuffer manager.
2017-10-18 12:26:02 +02:00
Henrik Rydgård
0d85f86e2d
Add some safety checks. Fix some inadvertent Y-flips (bit hacky).
2017-10-18 11:40:07 +02:00
Henrik Rydgård
4e3a9bc3e3
Unify some more framebuffer functions. Leave the GL stuff alone for now due to async.
2017-10-18 11:20:58 +02:00
Henrik Rydgård
f2ea0ce472
Unify (well, almost) GetOutputFramebuffer (D3D11/GL)
2017-10-18 10:54:26 +02:00
Henrik Rydgård
560eaa5390
Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing.
2017-08-17 17:57:37 +02:00
Henrik Rydgård
4e7099bf47
Vulkan: Fix some more state dirtying issues.
2017-08-15 10:51:44 +02:00