94 Commits

Author SHA1 Message Date
Henrik Rydgård
b2d9ac54dd Make InfoField an "enum class", extract function FormatAPIVersion 2024-09-25 16:34:33 +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
Herman Semenov
17ecee1715 Fixed return copies from functions and const ref params 2024-04-02 18:37:00 +03:00
Henrik Rydgård
126d88ecfc Back out clearly inconsequential/useless .reserve() calls 2023-12-29 08:27:56 +01:00
Herman Semenov
b8748ae9e5 [Common/File/GPU/Render/Input] Using reserve if possible 2023-12-15 14:00:51 +03: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
5959481a3e libretro D3D11: Attempt at fixing a build error 2023-08-15 00:30:36 +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
1bdbef487b D3D11: Pass the swapchain pointer into the thin3d context 2023-08-11 01:57:02 +02:00
Henrik Rydgård
0deefb82a9 thin3d: Merge BeginFrame and SetDebugFlags (set them every frame anyway) 2023-08-10 17:15:54 +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
5533d5ec57 More lenient emoji check, remove unused variable 2023-08-06 17:17:24 +02:00
Henrik Rydgård
39d25ce91f D3D11: Allow setting the max frame latency 2023-08-04 11:53:51 +02:00
haorui wang
ec4927069e 1. remove some unused code
2. add some missing header
3. fix error address offset operation
2023-07-30 12:31:31 +08: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
25662a7f6c Implement UpdateTextureLevels for D3D11 2023-05-30 14:54:19 +02:00
Henrik Rydgård
3a9ce528e7 D3D11: Break out CreateStagingTexture 2023-05-30 14:43:54 +02:00
Henrik Rydgård
198f9756b8 D3D11 texture upload: Refactor for easier changes 2023-05-30 14:35:22 +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
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
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
Henrik Rydgård
91cca1c980 Improve scissor rect clipping. Affected D3D11 validation when maximizing/minimizing. 2023-01-24 16:48:13 +01:00
Henrik Rydgård
5cae5615ea Use more unusual values as "fog-disabled". 2023-01-04 10:14:12 +01:00
Henrik Rydgård
d83f84fdfd DrawContext destructor: Need to call DestroyPresets earlier. 2022-12-29 17:32:49 +01: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
a7b7bf7826 Global: Set many read-only params as const.
This makes what they do and which args to use clearer, if nothing else.
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
Unknown W. Brackets
4a367148e6 GPU: Centralize more GPU_USE flags, like depth. 2022-11-13 08:04:47 -08: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
c89cf1cde7 D3D9: Implement CopyFramebufferToMemorySync().
This works like other backends, including D3D11.  This allows us to get
rid of the old implementation and reuse more code.
2022-10-10 21:28:14 -07:00
Unknown W. Brackets
bad4a93d3c D3D11: Correct depth readback. 2022-10-09 15:50:50 -07:00
Unknown W. Brackets
59a489f883 Draw: Add COLOR1 semantic. 2022-10-01 12:14:46 -07:00
Henrik Rydgård
1ae7c0132c Start unifying setting of the GPU feature flags, now that thin3d has feature detection. 2022-09-20 10:07:01 +02:00