Commit Graph
92 Commits
Author SHA1 Message Date
Henrik Rydgård 111d0c872d Global rename of FBChannel to Aspect, also make it a class enum 2024-12-15 22:24:05 +01:00
Henrik Rydgård 6763c13f88 ImGui: Finish implementing pipeline switching for all backends 2024-11-27 01:19:05 +01:00
Henrik Rydgård 09779e0f44 ImGui drawing: Allow varying the pipeline when binding textures 2024-11-26 19:59:09 +01:00
Henrik Rydgård eaff38f161 Implement ImGui clipped batch texturing support in the other backends too 2024-11-26 09:38:30 +01:00
Henrik Rydgård 659af60613 Fix ImDebugger rendering on D3D9 as well (although not very optimally). 2024-11-21 15:48:18 +01:00
Henrik Rydgård 472103d460 Back out the 32-bit index buffer support. Not actually needed for ImGui. 2024-11-04 23:14:39 +01:00
Henrik Rydgård d37c04079d Change the 2D matrix generation to query the coordinate convention from the draw context 2024-11-04 23:14:23 +01:00
Henrik Rydgård 8f8598c347 thin3d: Add partial support for 32-bit index buffers. Add DrawIndexedUP. 2024-11-04 23:14:22 +01:00
oltolm f429a257af d3d9: fix bug introduced in "use ComPtr for D3D9" 2024-10-13 21:45:40 +02:00
Henrik Rydgård b2d9ac54dd Make InfoField an "enum class", extract function FormatAPIVersion 2024-09-25 16:34:33 +02:00
oltolm 87db979ed7 use ComPtr for D3D9 2024-08-25 12:08:31 +02:00
Henrik Rydgård 665f03ff62 Add provoking vertex to caps, flip the flag around 2024-07-17 14:40:52 +02:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård e2480b9fa0 D3D9: Apply a half-pixel offset in 2D shader draws. Makes Tantalus games less broken (but still broken) 2023-12-05 14:09:14 +01:00
Henrik Rydgård 81d741a5fe D3D9: Fix recent regression (crash) 2023-12-05 13:41:04 +01:00
Henrik Rydgård d891aaf9cd Remove code that pretended that we supported multiple vertex streams
Don't really see that we'll have much use for this feature, so simplify
it away. Only single vertex stream data is now supported by the thin3d
API.
2023-11-13 01:15:28 +01:00
Henrik Rydgård 691c8b8d8d Write to the frame time history from the other backends too. Needed for the upcoming timing code. 2023-08-16 12:22:49 +02:00
Henrik Rydgård ff6e118fff Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically. 2023-08-14 11:02:29 +02:00
Henrik Rydgård bec9c5611e Rename PresentationMode to PresentMode 2023-08-14 11:02:29 +02:00
Henrik Rydgård ed9b033f7d D3D9/11: Move away from using context->SwapBuffers(), instead move present to draw_->Present(). 2023-08-11 01:57:02 +02:00
Henrik Rydgård 1b6d4df3a4 Move the EndFrame/Present split one level out, to NativeApp.cpp 2023-08-10 09:59:29 +02:00
Henrik Rydgård 49ecc01556 Fix image leak bug when pausing and we're just displaying a framebuffer in memory 2023-05-30 18:29:50 +02:00
Henrik Rydgård 7c4b9bac90 Cache textures created by MakePixelsTexture and reuse where appropriate. 2023-05-30 14:07:44 +02:00
Henrik Rydgård 0b1abf1de9 Add untested UpdateTextureLevels functionality to three of the four backends 2023-05-30 13:28:04 +02:00
Henrik Rydgård 6945deec01 Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy 2023-04-28 21:04:05 +02:00
Henrik Rydgård 42ce619705 Vulkan fastforward: Check the current presentation mode instead of the Vsync setting.
After 1.15, I'm gonna clean up the presentation mode/vsync management
across the code base. This works around #17308 for now.
2023-04-26 12:02:42 +02:00
Henrik Rydgård 25fbfd7a89 Finish up OpenGL compressed texture format checks. Show in dev screen 2023-03-12 12:20:10 +01:00
Henrik Rydgård b44e879d21 Support DXT1/3/5 (BC1,2,3) in D3D9 2023-03-12 11:37:17 +01:00
Henrik Rydgård f936a6e9ce Structs and enums and build files 2023-03-11 11:19:33 +01:00
Henrik Rydgård 49e5460c9c Remove count parameter from SetViewports. No use foreseen. 2023-02-25 07:12:53 +01:00
Henrik Rydgård 4427cb4fc3 Add parameter to thin3d::CopyFramebufferToMemory to specify blocking mode. Not yet implemented. 2023-02-04 23:40:36 +01:00
Unknown W. Brackets 6ac67b0a99 D3D9: Fix backbuffer screenshots. 2023-01-04 22:08:50 -08:00
Henrik Rydgård d83f84fdfd DrawContext destructor: Need to call DestroyPresets earlier. 2022-12-29 17:32:49 +01:00
Unknown W. Brackets 3e77cb1475 D3D9: Support old-style user clip planes.
This fixes negative Z issues on D3D9 in many cases, such as #14168
and #16574, but only when clip planes are supported.
2022-12-18 11:04:33 -08:00
Henrik Rydgård 675c282286 Hides the D3D9 option on Intel Xe graphics.
For whatever reason, it really doesn't work for me, while all three other
backends work perfectly. So let's just hide it.

You can still enable it through the ini file for debugging purposes.
2022-12-11 20:55:09 +01:00
Unknown W. Brackets 9cfcbc46e6 Global: Cleanup initialization/pointer checks.
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets f44852bb18 Global: Cleanup virtual/override specifiers.
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård 4dfce4f6bc Basically working MSAA on desktop GPUs! Some glitches remain. 2022-12-01 22:49:00 +01:00
Henrik Rydgård 6daecb4e2b Add check for tiling GPUs. We'll use this to inform on what MSAA modes to support. 2022-12-01 22:48:59 +01:00
Henrik Rydgård 331d024a8c Add a flags parameter to InvalidateCachedState and rename it Invalidate.
Also rename the old InvalidationFlags enum to InvalidateCallbackFlags.
2022-12-01 19:15:38 +01:00
Henrik Rydgård d97035fffc Merge pull request #16434 from unknownbrackets/stencil-opt
Vulkan: Use stencil export when available
2022-11-25 10:06:41 +01:00
Unknown W. Brackets b33662550f Vulkan: Use stencil export when available.
This prevents multiple passes to upload stencil buffers.
2022-11-24 18:48:46 -08:00
Henrik Rydgård 70d1d8fa07 Replace the "GetCurrentStepId"-based state invalidation with callbacks 2022-11-24 10:52:42 +01:00
Henrik Rydgård 763afd4a8e Improve compatibility checks for stereo rendering. 2022-10-27 11:05:59 +02:00
Henrik Rydgård 91259aaad7 Always use array textures for framebuffers in Vulkan for simplicity. 2022-10-27 11:05:58 +02:00
Henrik Rydgård 0de12f5ca9 Some refactoring of framebuffer views, layer issues, more work. 2022-10-27 11:05:58 +02:00
Henrik Rydgård fb250c4b29 More multiview work 2022-10-27 11:05:58 +02:00
Henrik Rydgård 7a620962aa thin3d: Replace hint at future MRT support with basic multi layer support 2022-10-27 11:05:58 +02:00
Henrik Rydgård 90d395a10d Remove "attachment" parameter from BindFramebufferAsTexture everywhere.
Not actually useful since our framebuffer objects don't support multiple
color images, and probably won't ever need to.
2022-10-20 10:15:19 +02:00
Unknown W. Brackets 8156f6fe28 D3D9: Correct scissor state cache in Draw.
Gets reset when updating the render target.  This fixes UI scissors.
2022-10-15 12:50:27 -07:00