Commit Graph
76 Commits
Author SHA1 Message Date
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 21d3c54401 Have GetFramebufferDimensions return the backbuffer size for null in all backends. 2017-10-20 11:11:04 +02:00
Henrik Rydgård 16e68aa7c7 Get rid of BindFramebufferForRead 2017-10-10 14:49:07 +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
Unknown W. Brackets 259af56ee6 SoftGPU: Fix rendering when using Direct3D 9.
Since we restore dxstate when setting a framebuffer or backbuffer, we need
something that populates it.
2017-05-20 21:29:09 -07: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 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 f24b1495ba Assorted texture format cleanup, prep for supporting D3D11 on Win7 2017-02-22 16:23:04 +01:00
Henrik Rydgard b94ad12aea D3D9: Use D3DLOCK_DISCARD when updating whole textures, may be a small speedup 2017-02-21 11:35:06 +01:00
Henrik Rydgard fd20788a67 Missing initialization, warning fixes, fix display of tabs in fast text drawing 2017-02-20 11:21:07 +01:00
Henrik Rydgard eabcb22623 Refactor away SetImageData 2017-02-19 11:02:24 +01:00
Henrik Rydgard 6a09d45aee D3D11: Add proper checks for B4G4R4A4 format support. Not yet using the checks. 2017-02-18 01:41:08 +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 Rydgard 096018a163 Texcache: Unify AttachFramebuffer, misc 2017-02-08 15:37: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
Henrik Rydgard 534a65c610 Remove thin3d buffer->SetData 2017-02-07 18:42:32 +01:00
Henrik Rydgard 691539b428 Stub new UpdateBuffer API 2017-02-07 18:16:52 +01:00
Henrik Rydgard be557fc323 Remove fbo_preferred_z_bitdepth 2017-02-06 11:40:16 +01:00
Henrik Rydgard e42f5e6f46 Rename the fbo_ functions to match the rest of DrawContext. 2017-02-06 11:40:16 +01:00
Henrik Rydgard ad29974a56 Change when drawcontexts are allocated. Hook up backbuffer events to fix d3d9 resizing. 2017-02-06 11:40:16 +01:00
Henrik Rydgard f1c96c056d Move all the GL/D3D9 FBO code into thin3d. 2017-02-06 11:40:16 +01:00
Henrik Rydgard a8f69e7d64 More DX cleanup 2017-02-05 20:06:56 +01:00
Henrik Rydgard 363ba8dc16 Quickfix software rendering with the GL backend enabled.
Will make a cleaner solution later. Fixes #9247
2017-01-28 16:55:23 +01:00
Henrik Rydgård 9d5371a8ba Thin3d: More rigorous handling of RGBA4444 texture formats 2017-01-24 20:59:00 +01:00
Henrik Rydgård 5d6097d33c Add infrastructure for checking for supported DataFormats 2017-01-24 20:59:00 +01:00
Henrik Rydgård 528af8a939 Simplification around textures 2017-01-24 20:59:00 +01:00
Henrik Rydgård d8dbb8389b Make buffer binding more Vulkan/Metal-like 2017-01-24 20:59:00 +01:00
Henrik Rydgård 411d31ffe0 Typo fix 2017-01-24 20:59:00 +01:00
Henrik Rydgård 8654d42528 DrawContext API change: introduce TextureDesc 2017-01-24 20:59:00 +01:00
Henrik Rydgård d2c4cbacad Delete unnecessary form of CreateTexture 2017-01-24 20:58:59 +01:00
Henrik Rydgård 6a7d3a3910 Break out image file management from DrawContext (thin3d) 2017-01-24 20:58:59 +01:00
Henrik Rydgård 1c337f72bb Slightly saner way to choose shaders depending on language. More work needed. 2017-01-24 20:58:59 +01:00
Henrik Rydgård c79712d9f9 Thin3D backends can report which shader languages they support 2017-01-24 20:58:59 +01:00
Henrik Rydgård 377561865a A little more D3D11, BlendFactor 2017-01-24 20:58:59 +01:00
Henrik Rydgård 674937a520 Extend some enums with potentially useful values 2016-12-27 11:59:12 +01:00
Henrik Rydgård e4f18dd220 D3D9 color mask support (merge with above) 2016-12-27 11:59:11 +01:00
Henrik Rydgård 10e4d4db14 Draw: Preliminary stencil implementation. Two-sided only implemented for Vulkan. 2016-12-27 11:59:11 +01:00
Henrik Rydgård cbf4e5f38c Implement colormask 2016-12-27 11:59:11 +01:00
Henrik Rydgård 2952588a54 Add a selection of device caps to check for features. Unfinished. 2016-12-27 11:59:11 +01:00
Henrik Rydgård 9f2e83b66c Bundle up more state in the pipeline object. Lets us get rid of Vulkan's pipeline cache. 2016-12-27 11:59:11 +01:00
Henrik Rydgård 8d84fb75c7 Remove ShaderSet presets 2016-12-27 11:59:10 +01:00