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
cosmonaut
78c5d54bf1
revise SetTextureData to take a command buffer
2021-11-14 20:36:26 -08:00
cosmonaut
b6a09517c2
change clear color type
2021-02-09 22:51:49 -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
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
fe03f1739a
change Clear definition to make more sense
2021-01-22 14:16:02 -08:00
cosmonaut
56f4c3c2c4
texture creation uses one function + Refresh_TextureCreateInfo
2021-01-14 01:52:45 -08:00
cosmonaut
b25daa5198
remove unused parameters from draw calls
2021-01-13 21:04:53 -08:00
cosmonaut
bf91de783f
Vulkan: persisent map buffers
2021-01-13 18:02:45 -08:00
thatcosmonaut
b12b785dbe
External Interop ( #14 )
2021-01-13 17:37:54 -08:00
cosmonaut
4b6f17054c
rename AddDispose to QueueDestroy
2021-01-05 17:02:36 -08:00
cosmonaut
d3d9c9ad55
rename Set_Samplers to Bind_Samplers
2021-01-05 17:00:06 -08:00
cosmonaut
4ca101099d
uncapitalize REFRESH in API calls
2021-01-05 15:05:16 -08:00
cosmonaut
5a92fdf984
move count param on REFRESH_Submit
2021-01-03 14:57:46 -08:00
cosmonaut
788c63f3ac
rename SURFACEFORMAT to COLORFORMAT
2021-01-03 14:53:12 -08:00
thatcosmonaut
b4dee16f80
Texture API Refactor ( #9 )
2021-01-03 14:37:02 -08:00
cosmonaut
e82bce10dc
texture copy API
2021-01-03 14:00:43 -08:00
cosmonaut
087a60fa52
add wait API call
2021-01-03 14:00:43 -08:00
cosmonaut
540c0985b7
proper texture staging + fix buffer dispose api
2021-01-03 14:00:43 -08:00
cosmonaut
f8c99c4e18
make gets and sets async
2021-01-03 14:00:43 -08:00
cosmonaut
e0ff380989
implement transfer queue
2021-01-03 14:00:43 -08:00
cosmonaut
c818e332e7
started exposing command buffers
2021-01-03 14:00:43 -08:00
cosmonaut
5b3fa07790
more compute implementation
2020-12-30 23:07:59 -08:00
cosmonaut
5bddb9faab
add compute related functions to API
2020-12-30 23:07:59 -08:00
cosmonaut
dc92a1e274
started implementing compute structure
2020-12-30 23:07:59 -08:00
cosmonaut
d6cd3715cb
implement texture getters
2020-12-28 23:41:59 -08:00
cosmonaut
cea9b853a4
implement Clear
2020-12-28 22:19:46 -08:00
cosmonaut
2548833525
update API to allow batchable shader params
2020-12-28 19:32:49 -08:00
cosmonaut
a92a03a69a
texture usage for auto layout transition
2020-12-28 13:40:26 -08:00
cosmonaut
941cce595c
add texture layout transition to API
2020-12-28 12:15:17 -08:00
cosmonaut
ce0eea711b
SetSamplers no longer takes pipeline
2020-12-27 23:13:49 -08:00
cosmonaut
ae44d3ef23
shader uniforms
2020-12-23 13:11:09 -08:00
cosmonaut
89f8ef1e9e
draw call API revision
2020-12-22 22:56:26 -08:00
cosmonaut
a795e1f825
rename to QueuePresent + make textureslice input a pointer
2020-12-21 18:54:36 -08:00
cosmonaut
bab86149c9
some init fixes
2020-12-21 17:59:08 -08:00
cosmonaut
9fa0e54e67
add PresentationParameters
2020-12-21 16:18:21 -08:00
cosmonaut
7de212c322
rename Gen_ functions to Create_
2020-12-21 15:50:12 -08:00
cosmonaut
06b805cf93
presentation loop
2020-12-21 15:44:43 -08:00
cosmonaut
feb4b5e16b
vertex and index buffers
2020-12-21 12:37:54 -08:00
cosmonaut
778a8d89bd
splitting up push shader params by stages
2020-12-20 01:33:32 -08:00
cosmonaut
4233c7767e
draw functions
2020-12-20 01:29:15 -08:00
cosmonaut
2f06a8a13f
BeginRenderPass
2020-12-20 00:05:12 -08:00
cosmonaut
ffae2d8bfb
remove AddDisposeShaderParamBuffer
2020-12-19 23:41:03 -08:00
cosmonaut
bedc1f7196
set sampler functions
2020-12-18 21:35:21 -08:00
cosmonaut
bd4bd74020
revising shader param API
2020-12-18 18:24:22 -08:00
cosmonaut
ba9447ae4c
render targets
2020-12-18 16:39:03 -08:00