102 Commits

Author SHA1 Message Date
Unknown W. Brackets
138837ac54 Vulkan: Add texture image readback.
This way we can see how it was decoded, scaled, etc.  This also helps
seeing texture cache invalidation issues.
2017-11-06 00:29:01 -08:00
Henrik Rydgård
8d0209c7e4 Stop leaking framebuffers on shutdown. Fix other shutdown issues. 2017-11-01 21:43:08 +01:00
Henrik Rydgård
ed2731d197 Vulkan: Fix depal and shader blending. 2017-10-31 12:35:00 +01:00
Henrik Rydgård
97dced543e Share the conversion code between vulkan and D3D, fixing the missing format thing. 2017-10-29 14:42:51 +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
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
84ed793adf Initial work on render queue manager 2017-10-26 10:56:59 +02:00
Henrik Rydgård
017d3da067 Allow D3D9 context creation to bail if shader compilation fails (D3D9 runtime not installed).
Fixes an issue where after switching to D3D9 on a PC without the D3D9 runtime, it's impossible to start PPSSPP anymore.
2017-10-20 11:53:07 +02:00
Henrik Rydgård
62972cb891 D3D11: Move to CopyFramebufferToSync where easily possible. 2017-10-11 13:34:31 +02:00
Henrik Rydgård
16e68aa7c7 Get rid of BindFramebufferForRead 2017-10-10 14:49:07 +02:00
Henrik Rydgård
5bbe0eb69a Move GL readback to a Thin3D abstraction 2017-10-10 14:48:58 +02:00
Henrik Rydgård
8c1bfb876f Assorted cleanup of Vulkan init code. Show Vulkan extensions in system info. 2017-08-28 13:47:31 +02:00
Henrik Rydgård
137b79c708 Fix more review comments. 2017-05-30 09:38:05 +02:00
Henrik Rydgård
bd9f3af0bd Add a way to query the current renderpass (for debug checks) 2017-05-30 09:36:17 +02:00
Henrik Rydgard
0c70735bc4 Buffered rendering is starting to work, though still kinda broken. 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 Rydgard
32728553bd Further steps towards Vulkan framebuffer support 2017-05-30 09:36:17 +02:00
Henrik Rydgård
a7dd6d6085 Further steps towards Vulkan framebuffer support 2017-05-30 09:36:17 +02:00
Henrik Rydgård
6bcfe539f7 Use vulkan-style clear-on-bind when switching render targets. Not optimally used yet.
Also removes a bunch of redundant render target binds.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
35aefe4a2a BindBackBufferAsRenderTarget is now replaced with BindFramebufferAsRT(nullptr) 2017-05-30 09:36:17 +02:00
Henrik Rydgård
3b6fa9be87 Start work on separating frame from backbuffer renderpass 2017-05-30 09:36:17 +02:00
Henrik Rydgård
c0f6a24a21 Fix issue where we were a little too aggressive when eliminating calls to SetRenderTarget 2017-03-23 10:02:28 +01:00
Henrik Rydgard
52cd3164ee Hook up the backbuffer. PPSSPP draws now, though with issues. 2017-03-23 10:02:27 +01:00
Henrik Rydgård
f4a0c4504f Fixes to GPU system information. Fixes #9434 2017-03-16 09:48:10 +01:00
Henrik Rydgard
8a8360ef96 Reintroduce mipmaps for images in the UI like screenshots (D3D11, OpenGL, D3D9) 2017-03-12 16:30:53 +01:00
Henrik Rydgard
042d09a049 Fix #9390, also unbreak D3D11 screenshots 2017-03-05 20:30:39 +01:00
Henrik Rydgard
116edcb77a Take the D3D11 feature level into account when creating shaders. May help #9369 2017-03-05 12:31:33 +01:00
Henrik Rydgard
340f0cff2c Prepare for supporting manual screen rotation 2017-03-05 10:54:45 +01:00
Henrik Rydgard
5de190a45f D3D11: Move the responsibility for the swapchain out of the DrawContext so it can be used with differently-managed D3D like with UWP.
Minor cleanups.
2017-02-27 10:10:24 +01:00
Henrik Rydgard
fcbc20f240 Small changes to make Common and Core build under my preliminary UWP setup. 2017-02-24 18:59:41 +01:00
Henrik Rydgard
79bd01efb8 D3D11: Add support for viewing the depth and stencil buffers in the GE debugger 2017-02-23 16:27:26 +01:00
Henrik Rydgard
f24b1495ba Assorted texture format cleanup, prep for supporting D3D11 on Win7 2017-02-22 16:23:04 +01:00
Henrik Rydgard
387ad7e4d6 OpenGL DrawContext texture handling cleanup, fixing some bugs. 2017-02-19 12:25:37 +01:00
Henrik Rydgard
eabcb22623 Refactor away SetImageData 2017-02-19 11:02:24 +01:00
Henrik Rydgard
5a0ee6cc36 Add some plumbing to be able to reach DX11.1 features. 2017-02-18 01:54:28 +01:00
Henrik Rydgard
584650a0c2 Initial preparations for logic op support 2017-02-18 01:41:08 +01:00
Henrik Rydgard
e8396b10f9 D3D11: Implement screenshots. 2017-02-18 00:43:02 +01:00
Henrik Rydgard
0e8aeaea3a D3D11: Implement basic framebuffer readback.
Also make debug interfaces more consistent.
2017-02-18 00:07:49 +01:00
Henrik Rydgard
5c918da774 Minor cleanups (combined two identical enums, misc) 2017-02-15 11:06:59 +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
abbd6cb1d1 Fix DrawActiveTexture, now Buffered Rendering is starting to work 2017-02-12 11:20:55 +01:00
Henrik Rydgård
04b803e2f6 D3D11: Change init method for textures, so we can support mipmapping 2017-02-10 15:40:51 +01:00
Henrik Rydgard
aba669c3e6 D3D11: Cube now visible 2017-02-10 00:30:42 +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
82f8bfeb66 DrawContext: Remove the old way of setting uniforms 2017-02-08 13:07:38 +01:00
Henrik Rydgard
9bdae8f32e DrawContext: Use uniform buffers on all platforms (simulated where necessary) 2017-02-08 12:55:58 +01:00
Henrik Rydgard
fe1b593c15 DrawContext: Initial implementation of dynamic UBO support 2017-02-08 12:26:48 +01:00
Henrik Rydgard
41fecc8c16 More D3D11 basics. Only dynamic constant buffers left, then it should display the UI. 2017-02-07 19:45:09 +01:00
Henrik Rydgard
d78d3bb25f Change the API for updating buffers from the CPU to be cleaner 2017-02-07 19:04:44 +01:00