Commit Graph
2561 Commits
Author SHA1 Message Date
Henrik Rydgård fb3f417e77 Fix lying comment, log level reduction 2022-09-03 16:15:46 +02:00
Henrik Rydgård 76bd2395bf Promise: Add SpawnEmpty (couldn't come up with a better name), fix bug with multiple waiters 2022-09-03 15:21:08 +02:00
Henrik Rydgård c06cf8efaa Switch Vulkan pipelines to use promises for synchronization
Slightly more expensive I guess but shouldn't be much of a bottleneck.
2022-09-03 15:21:08 +02:00
Henrik Rydgård ebe2d1b30f More buildfixing 2022-09-03 15:21:07 +02:00
Henrik Rydgård 210233ede0 Buildfix 2022-09-03 15:21:07 +02:00
Henrik Rydgård e701037267 Buildfix 2022-09-03 15:21:07 +02:00
Henrik Rydgård 8775837c11 Work towards finding the leak 2022-09-03 15:21:07 +02:00
Henrik Rydgård 93422f6dea Don't block on shader creation until it's time to create the pipeline. 2022-09-03 15:21:07 +02:00
Henrik Rydgård ec0586ba50 Use promises to hold shader modules, for later asyncification 2022-09-03 15:21:07 +02:00
Henrik Rydgård f2e0f7611c Display paths with backslashes on Windows. Show texture path when saving. 2022-09-01 15:04:59 +02:00
Henrik Rydgård 9097fdaae6 Shrink VkRenderData from 88 to 64 bytes. 2022-09-01 14:21:34 +02:00
Henrik Rydgård ecb84987ef Remove allocation from the heaviest MemBlockInfo path (BlockTransfer). Required some refactoring. 2022-09-01 11:59:35 +02:00
Henrik Rydgård 24d674d2bc Shrink the TransitionRequest struct, use TinySet 2022-09-01 10:59:27 +02:00
Henrik Rydgård bd71d8044b TinySet bugfix, add "append" 2022-09-01 10:59:24 +02:00
Henrik Rydgård a8a9fb4206 Much faster framebuffer matching (no more ToString every time there's more than 1 candidate, etc). 2022-08-31 14:23:56 +02:00
Henrik Rydgård 4da2ca0935 Implement shader blending for D3D9
This was easy, dunno why I never got around to it before..
I guess I didn't know about VPOS.

This does raise our minimum shader model requirement to ps_3_0.
2022-08-30 12:19:56 +02:00
Henrik Rydgård 44d822be3b Address feedback 2022-08-30 06:41:37 +02:00
Henrik Rydgård 670c31e746 Add support for reading depth buffers to the PackFramebufferSync function.
Also adds D16 conversion code (though, could probably get away with just
creating a 16-bit depth buffer on the GPU and blit to it, where depth
blit is available).

Not yet used, just getting it in separately.
2022-08-30 00:00:59 +02:00
Henrik Rydgård 34ed960a72 Use better pattern for enum switches 2022-08-28 23:57:01 +02:00
Henrik Rydgård b447092742 Some Vulkan renderpass load/store optimizations. 2022-08-28 23:16:48 +02:00
Unknown W. Brackets da53ab8ef9 UI: Validate UI scissor inside bounds. 2022-08-28 09:01:35 -07:00
Henrik Rydgård 5247ffa0af Merge pull request #15910 from unknownbrackets/riscv-emitter
Add LI and compressed instructions for RISC-V
2022-08-28 15:57:03 +02:00
Unknown W. Brackets 08d82ec15b riscv: Emit compressed instructions.
Includes automatically using compressed, optionally.
2022-08-27 15:44:19 -07:00
Unknown W. Brackets 946080206d riscv: Improve sign reduce/immediate readability. 2022-08-27 15:44:18 -07:00
Unknown W. Brackets c807d459f6 riscv: Emit ADD/SUB/etc. for ADDW/SUBW/etc. on R32.
No need to complicate code, we can just write ADDW() and expect it to work
on R32 (if ever motivated to support it.)
2022-08-27 15:44:18 -07:00
Unknown W. Brackets c81d887a86 riscv: Include an LI helper in the emitter.
Can be used for integers and floats.
2022-08-27 15:44:18 -07:00
Henrik Rydgård 322f29ce80 Comments and fixes 2022-08-27 23:37:02 +02:00
Henrik Rydgård 3c5ec25f61 Initial implementation of 32/16-bit color reinterpret blits. 2022-08-26 15:51:25 +02:00
Henrik Rydgård 31bd16a042 Merge pull request #15905 from unknownbrackets/riscv-emitter
Add a RISC-V emitter
2022-08-26 09:41:20 +02:00
Unknown W. Brackets 4a93647acb riscv: Emit CSR manipulation instructions. 2022-08-25 21:20:49 -07:00
Unknown W. Brackets b5755b6cf7 riscv: Validate FixupBranch usage better.
Also avoid FixupBranch alignment issues.
2022-08-25 21:20:49 -07:00
Unknown W. Brackets 591de6be1d riscv: Emit float instructions. 2022-08-25 21:19:28 -07:00
Unknown W. Brackets 53693072d2 riscv: Emit atomic operations. 2022-08-25 21:19:28 -07:00
Unknown W. Brackets c66d02d4db riscv: Emit mul/div instructions. 2022-08-25 21:19:28 -07:00
Unknown W. Brackets 00280ab2ad riscv: Emit fence and 64-bit instructions. 2022-08-25 21:19:28 -07:00
Unknown W. Brackets 49ec8a207d riscv: Emit 32-bit 3-op instructions, validate GPR. 2022-08-25 21:19:27 -07:00
Unknown W. Brackets 1c35cfb325 riscv: Emit 32-bit load/store and imm ops. 2022-08-25 21:19:27 -07:00
Unknown W. Brackets 1dab9d1875 riscv: Emit standard B/U/J type ops. 2022-08-25 21:19:27 -07:00
Unknown W. Brackets 9fcad83940 riscv: Add initial emitter shell. 2022-08-25 21:17:11 -07:00
Henrik Rydgård 416d8b403b Merge pull request #15768 from lvonasek/feature_openxr_6dof
OpenXR - 6DoF support
2022-08-24 18:49:41 +02:00
Henrik Rydgård d459eac891 Fix checks for depth texture support, GLES syntax errors 2022-08-24 11:26:07 +02:00
Henrik Rydgård bd674c47b6 OpenGL: Fix regular depal (shader depal still worked) that broke recently 2022-08-24 11:01:57 +02:00
Henrik Rydgård 8b3ef19450 Fix wrong width/height values being stored in thin3d textures 2022-08-24 10:23:37 +02:00
Henrik Rydgård eb2f12e64a Drive-by texture slot management cleanup 2022-08-24 10:22:58 +02:00
Luboš Vonásek c5cb45b1f7 Merge branch 'hrydgard:master' into feature_openxr_6dof 2022-08-24 06:55:31 +02:00
Henrik Rydgård fc81b76b98 Vulkan: Very minor chnages after checking Best Practices with new validation layer 2022-08-23 23:55:53 +02:00
Henrik Rydgård 5084743bbb Use Draw2D for depal shaders (except the actual blit, for now) 2022-08-23 11:21:40 +02:00
Unknown W. Brackets c13f57e64f Vulkan: Cleanup minor logging. 2022-08-21 19:40:02 -07:00
Henrik Rydgård ca24f1b9aa Fixes for D3D11 2022-08-21 09:58:58 +02:00
Henrik Rydgård bd6f79e473 Fix the raster depth blit again, which I recently broke. 2022-08-17 16:52:49 +02:00