Commit Graph
102 Commits
Author SHA1 Message Date
Henrik Rydgård 506a86300d More explicit invalidation of any cached state in Thin3D. Fixes #13307 2020-08-22 00:30:29 +02:00
Henrik Rydgård c41f875df4 Remove base/logging.h in a whole lot more places. 2020-08-15 19:09:00 +02:00
Henrik Rydgård 131a1eedfb Vulkan: Make sure textures/samplers are unbound at the end of PresentationCommon::CopyToOutput.
Validation caught an issue where old stuff lingered in sampler 1 and texture 1.

Bug probably introduced in #12921, but could also be others.
2020-07-13 23:32:37 +02:00
Unknown W. Brackets 21ac3ca7a4 Draw: Fix textures and samplers at an offset. 2020-06-12 12:35:37 -07:00
Henrik Rydgård 370678c498 Do a similar thing for D3D (let the backend handle the dirtying). 2020-05-24 20:57:59 +02:00
Henrik Rydgård fabe987c8f Add a name tag for all render steps (GL/Vulkan). Helps with debugging and should be cheap enough (a single pointer per "step"). 2020-05-21 11:24:05 +02:00
Henrik Rydgård e64fdfa0c3 Fix a case of pointer truncation in Vulkan on 32-bit. Fixes #12932 2020-05-19 20:53:51 +02:00
Henrik Rydgård 4bf92a66c5 Thin3D: use 16-bit indices. Fixes #12898. 2020-05-15 18:07:07 +02:00
Unknown W. Brackets 8b4821bc05 Draw: Small optimization to callback.
This allows the callback to say "I didn't copy, please copy for me."  This
helps when additional conversions will be applied during the copy, or a
copy can be skipped.

Also, fixed a couple cases of the wrong mip level being used.
2020-05-13 20:30:24 -07:00
Unknown W. Brackets 8fdc557040 D3D9: Attempt PS/VS 3.0 if it doesn't work with 2.
So that postshaders can work.  Downside is, if we write a UI shader that
requires 2.0, we may not notice... but I think the risk is not that high.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets 762b656ea2 GPU: Use a texture directly for MakePixelTexture.
This makes it easier to do things with it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets ddd3af2297 Draw: Actually use the index offset parameter.
I'm not sure we need it, but having a param used only on one backend is
confusing.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets c025eab86e Draw: Add more uniform types.
Only because we might have float a[2]; float b[2];...
2020-05-13 18:07:25 -07:00
Unknown W. Brackets 9b8157f624 Draw: Allow specifying a tag on shaders.
This way they are not always "thin3d" when using Draw.
2020-05-13 18:07:25 -07:00
Henrik Rydgård 796539ad7f DarkStalkers: Fix display in the D3D backends. Still broken in OpenGL. 2019-10-27 20:54:36 +01:00
driver1998 21d2008676 Use D3DCompiler_47.dll for D3D9 context. 2019-05-12 11:17:10 +08:00
Henrik Rydgård 54c6c148fb Detect PCI device ID where available (not in GL?) 2019-02-06 22:43:31 +01:00
Henrik Rydgård c2319cd6d1 thin3d: Make the stencil ref value dynamic state (all APIs support this directly). 2018-12-19 13:48:58 +01:00
Henrik Rydgård a135dc1547 thin3d: Remove unused shader language support 2018-12-18 14:29:48 +01:00
Henrik Rydgård ca0fb77080 Assorted cleanups. Don't assert on no clear mask. 2018-04-06 23:29:44 +02:00
aliaspider a5b5308d88 fix return value / plug leak. 2018-03-22 22:12:19 +01:00
Henrik Rydgård b5e5d72a0a Complete the separation of depth and stencil renderpass flags 2017-12-30 22:52:22 +01:00
Henrik Rydgård e6be86ce74 ARM buildfix 2017-11-22 11:01:42 +01:00
Henrik Rydgård 2c86217552 Cleanup GPU vendor detection a bit, use it to avoid the issue mentioned in #9545 2017-11-21 16:19:28 +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 0a0494ef8e It builds! With some shortcuts, of course. 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 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