Commit Graph

196 Commits (62789005dd61738921eec22b44d8cbd73476d214)

Author SHA1 Message Date
cosmonaut 62789005dd fix for multi-submit 2022-01-12 22:04:07 -08:00
cosmonaut 53c65fb5eb fix incorrect index 2022-01-12 22:00:08 -08:00
cosmonaut 0e05ed6b34 Buffer and Submission Rework (#1)
We used to have monolithic uniform buffers on the VulkanRenderer object, but this was inefficient in the case of threaded usage.

Now, we have a pool of uniform buffers. A uniform buffer is selected from the pool when a pipeline is bound. The uniform buffers are rotated upon presentation.

Now pushing uniforms is now a concern of the command buffer instead of the pipeline. The pipeline should just always have been a static object anyway.

Additionally, we now do extra buffer record-keeping so that buffer data can be updated after a bind/draw.

Fence submission has also been restructured so that submissions don't cause unnecessary blocks. Now we assign one fence per submission, and we don't wait for fences until it's time to present.

Reviewed-on: MoonsideGames/Refresh#1
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
2022-01-12 22:41:10 +00:00
David Weil c51b4e95d2 Fixed multiple command buffer submissions 2022-01-03 13:51:13 -08:00
cosmonaut c7666cd8fc fix use after free 2022-01-03 10:36:47 -08:00
cosmonaut ca07286e29 change texture transfer to be per-CB 2022-01-02 14:35:57 -08:00
cosmonaut 78c5d54bf1 revise SetTextureData to take a command buffer 2021-11-14 20:36:26 -08:00
cosmonaut fa61cd4653 remove cursed typedef 2021-11-08 14:48:44 -08:00
cosmonaut ab941a68df fix debug mode flag not set before creating instance 2021-11-08 14:25:18 -08:00
cosmonaut 8e37f72dc2 fix windows build release path 2021-02-27 15:35:46 -08:00
cosmonaut 9e508f4a0b add release step 2021-02-27 15:29:07 -08:00
cosmonaut 7ffaa28ae5 update vulkan headers 2021-02-27 15:14:48 -08:00
cosmonaut d53d777c31 never mind 2021-02-27 15:06:38 -08:00
cosmonaut 92cfbfb8f8 spend latest 2021-02-27 15:01:16 -08:00
cosmonaut 66c46c4bbd docker image has SDL2-devel 2021-02-27 14:58:40 -08:00
cosmonaut 20033769c5 docker image takes care of some of these packages 2021-02-27 14:18:31 -08:00
cosmonaut 98d31a3a57 separate windows build dir 2021-02-27 13:37:19 -08:00
cosmonaut 2255c9d81a use mingw64-cmake 2021-02-27 13:35:13 -08:00
cosmonaut f70b4cc285 trying something 2021-02-27 13:25:19 -08:00
cosmonaut 3c75371168 there it is 2021-02-27 13:19:12 -08:00
cosmonaut 5924be20a7 is this what its called 2021-02-27 13:17:21 -08:00
cosmonaut adcfa2bb6c make windows build use mingw 2021-02-27 13:14:39 -08:00
cosmonaut 7a35721a69 whoops 2021-02-27 13:13:42 -08:00
cosmonaut 5c61dc1bc5 fix build dir 2021-02-27 13:11:37 -08:00
cosmonaut 2fe0396bcc separate steps for linux and windows 2021-02-27 13:10:20 -08:00
cosmonaut 587f74bf34 re-add SDL2-devel to build 2021-02-27 13:07:09 -08:00
cosmonaut 6b2f49dd22 trying new docker image 2021-02-27 13:03:30 -08:00
cosmonaut dd1ba55312 fix YUV upload 2021-02-27 13:03:30 -08:00
cosmonaut b6a09517c2 change clear color type 2021-02-09 22:51:49 -08:00
cosmonaut 17524fd30b fix depth attachment barriers 2021-02-09 17:52:26 -08:00
cosmonaut 8f1cdf190f change shader uniform push to take pipelines instead of command buffers 2021-02-05 19:59:29 -08:00
cosmonaut 7f3e89315e uniform API update 2021-02-02 16:37:01 -08:00
cosmonaut 4699c158f3 calculate texture length internally + fix rename 2021-01-31 21:17:27 -08:00
cosmonaut 76c845cbb4 rename PushShaderParams to PushShaderUniforms 2021-01-31 19:37:16 -08:00
cosmonaut 254d209a48 fix issue where texture staging buffer would be too small to contain incoming data 2021-01-31 18:01:21 -08:00
cosmonaut a60725fecc fix bad malloc size 2021-01-31 17:16:32 -08:00
cosmonaut d99bd756f4 remove extra region merge checks 2021-01-31 16:29:38 -08:00
cosmonaut 952cf974b4 fix empty compute image descriptor set creation 2021-01-31 14:30:16 -08:00
cosmonaut 52d06f9f6c merge free regions 2021-01-29 16:03:00 -08:00
cosmonaut b2199fcaae improve device enumeration + fix host memory allocation 2021-01-29 15:57:58 -08:00
cosmonaut 978d1e9451 cpu texture alloc tweak 2021-01-28 22:05:44 -08:00
cosmonaut 7bbb15d8a5 fix depth RTs 2021-01-28 21:48:50 -08:00
cosmonaut b854a822d6 fix some depth issues 2021-01-28 21:37:11 -08:00
cosmonaut 6457967470 texture alloc fallback to host memory 2021-01-27 12:51:36 -08:00
cosmonaut 68d9a74ff4 change renderArea to a pointer 2021-01-26 20:27:42 -08:00
cosmonaut 316e662f44 remove distinction between color target and depth target 2021-01-26 18:57:46 -08:00
cosmonaut 81ca5371a5 update build badge 2021-01-23 08:52:51 +00:00
cosmonaut fe03f1739a change Clear definition to make more sense 2021-01-22 14:16:02 -08:00
cosmonaut d9700707d0 fix index buffer binding 2021-01-21 14:03:36 -08:00
cosmonaut 41ea091749 fix hang when staging buffer flushes 2021-01-21 12:34:50 -08:00