cosmonaut
0e7720ccf6
D16 fallback when unsupported
continuous-integration/drone/push Build is passing
Details
2022-06-17 00:41:27 -07:00
cosmonaut
488cb8c535
add format to render pass hash
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
2022-06-06 11:46:08 -07:00
cosmonaut
163adfb5cd
add BC7 support
continuous-integration/drone/push Build is passing
Details
2022-05-11 21:16:24 -07:00
cosmonaut
f0b970496e
vertex format changes
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
2022-03-17 14:41:16 -07:00
cosmonaut
4bba0f99f9
remove lineWidth from RasterizerState
continuous-integration/drone/push Build is passing
Details
2022-03-14 10:43:01 -07:00
cosmonaut
3820d458fe
remove Clear and add pWidth and pHeight to AcquireSwapchainTexture
continuous-integration/drone/push Build is passing
Details
2022-03-10 10:21:49 -08:00
cosmonaut
7a0b0f5709
suboptimal on recreate is still technically fine
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
2022-03-08 11:21:36 -08:00
cosmonaut
ce34f4a435
fix deadlock on multi window swapchain resize
continuous-integration/drone/push Build is passing
Details
2022-03-08 10:47:07 -08:00
TheSpydog
eb5617f40e
Update template for latest ABI breaks ( #16 )
...
continuous-integration/drone/push Build is passing
Details
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Co-authored-by: cosmonaut <evan@moonside.games>
Reviewed-on: #16
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-03-07 08:05:58 +00:00
cosmonaut
0380a96817
Swapchain resize fixes ( #18 )
...
continuous-integration/drone/push Build is passing
Details
Fixes various errors related to the swapchain being recreated.
Additionally, `BeginRenderPass` now allows a NULL `renderArea` parameter. If NULL, Refresh will select a sensible default render area.
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
2022-03-07 06:31:39 +00:00
cosmonaut
715ca591f6
fix compute pipeline create bug
continuous-integration/drone/push Build is passing
Details
2022-03-04 13:37:45 -08:00
cosmonaut
2731d47419
rename viewport and scissor set functions
continuous-integration/drone/push Build is passing
Details
2022-03-04 12:47:36 -08:00
cosmonaut
0fbf1b2546
fix erroneous stack free
continuous-integration/drone/push Build is passing
Details
2022-03-04 12:36:02 -08:00
cosmonaut
f6b96fe34b
viewport and scissor ABI break
continuous-integration/drone/push Build is failing
Details
2022-03-04 12:30:33 -08:00
cosmonaut
6302603b08
add some missing frees
continuous-integration/drone/push Build is passing
Details
2022-03-03 17:30:26 -08:00
cosmonaut
5fe4c8dbf3
remove command buffer from QueueDestroy calls
continuous-integration/drone/push Build is passing
Details
2022-03-03 17:07:07 -08:00
cosmonaut
057a48e96f
separate shader types
continuous-integration/drone/push Build is passing
Details
2022-03-02 11:22:52 -08:00
cosmonaut
61e83cfba8
D3D compatibility ABI break
continuous-integration/drone/push Build is passing
Details
2022-03-02 11:10:28 -08:00
cosmonaut
e4ea104a88
remove swapchain log spam
continuous-integration/drone/push Build is passing
Details
2022-03-02 10:27:03 -08:00
cosmonaut
83c2372499
only mark swapchain as needing recreate if it exists
continuous-integration/drone/push Build is passing
Details
2022-03-02 10:02:07 -08:00
cosmonaut
cb99489b3c
Rework Presentation Flow ( #15 )
...
continuous-integration/drone/push Build is passing
Details
Removes `Refresh_RenderTarget`, `Refresh_CreateRenderTarget` and `Refresh_QueueDestroyRenderTarget`. Render targets are now managed by the implementation.
Adds `REFRESH_TEXTUREFORMAT_B8G8R8A8`.
Adds `Refresh_AcquireSwapchainTexture`. Returns a swapchain texture for the requested window.
Removes `Refresh_QueuePresent`. It is now assumed that the texture returned by `Refresh_AcquireSwapchainTexture` will be presented. This texture can be manipulated like any other texture.
Adds `Refresh_GetSwapchainFormat`. Returns the swapchain format for the requested window.
Reviewed-on: #15
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
2022-03-02 06:33:57 +00:00
cosmonaut
d22bed8b76
transition entire images + rework swapchain image management
continuous-integration/drone/push Build is passing
Details
2022-02-28 12:02:39 -08:00
cosmonaut
436b990d45
Fix intro message formatting
continuous-integration/drone/push Build is passing
Details
2022-02-25 23:13:17 -08:00
cosmonaut
a26d3e3689
move color blend state to AttachmentInfo
continuous-integration/drone/push Build is passing
Details
2022-02-25 17:37:42 -08:00
cosmonaut
a38a9d461d
fix right alignment spacing
continuous-integration/drone/push Build is passing
Details
2022-02-25 13:51:29 -08:00
cosmonaut
517399f5d9
convert all spaces to tabs
continuous-integration/drone/push Build is passing
Details
2022-02-25 13:42:11 -08:00
cosmonaut
5187093ddc
reset command buffers on the thread they were spawned
continuous-integration/drone/push Build is passing
Details
2022-02-24 22:06:00 -08:00
cosmonaut
336468cc31
fix some invalid accesses
continuous-integration/drone/push Build is passing
Details
2022-02-24 21:29:52 -08:00
cosmonaut
a531fb8593
Render Pass API Streamlining ( #14 )
...
continuous-integration/drone/push Build is passing
Details
Removes `Refresh_RenderPass` and `Refresh_Framebuffer` objects.
`Refresh_BeginRenderPass` now takes a set of `Refresh_ColorAttachmentInfo` structs and an optional `Refresh_DepthStencilAttachmentInfo` struct that describe the render pass. The render pass and framebuffer objects are now managed by the implementation instead of the application.
Accordingly, `Refresh_GraphicsPipelineCreateInfo` now takes a `Refresh_GraphicsPipelineAttachmentInfo` struct that describes render passes that may be used with the pipeline. It is an error to bind a pipeline during an incompatible render pass.
Reviewed-on: #14
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
2022-02-24 22:01:37 +00:00
cosmonaut
a3aea0f796
Reset fence as late as possible
continuous-integration/drone/push Build is passing
Details
2022-02-22 21:54:32 -08:00
cosmonaut
0319c26f6a
Submission rewrite ( #13 )
...
continuous-integration/drone/push Build is passing
Details
Rework submission flow to reduce waiting and improve the resource cleanup process.
This patch also gets rid of descriptor set caching.
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
2022-02-23 00:49:45 +00:00
TheSpydog
1d72fdb995
Added a Refresh driver template file ( #12 )
...
continuous-integration/drone/push Build is passing
Details
This allows us to avoid monotonous boilerplate when bringing up new backends.
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2022-02-22 03:28:31 +00:00
cosmonaut
b54b7cc42d
fix separate swapchain synchronization
continuous-integration/drone/push Build is passing
Details
2022-02-09 21:42:19 -08:00
cosmonaut
829356d927
Revise swapchain management + remove external
continuous-integration/drone/push Build is passing
Details
2022-02-08 17:16:11 -08:00
cosmonaut
42f5f84524
Transfer Buffer Pool ( #7 )
...
continuous-integration/drone/push Build is passing
Details
Reviewed-on: #7
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
2022-01-20 22:56:28 +00:00
cosmonaut
c5a689c6d6
fix bad realloc
continuous-integration/drone/push Build is passing
Details
2022-01-17 21:28:25 -08:00
cosmonaut
80fdf09d86
fix some fence edge cases
continuous-integration/drone/push Build is passing
Details
2022-01-17 21:09:27 -08:00
cosmonaut
e59e3e6b02
insert missing memory barrier after buffer copy
continuous-integration/drone/push Build is passing
Details
2022-01-17 19:57:45 -08:00
cosmonaut
49d7b1fabc
fix transfer buffer offset not incrementing
continuous-integration/drone/push Build is passing
Details
2022-01-17 18:32:45 -08:00
cosmonaut
34e4b4f576
SetBufferData rework ( #6 )
...
continuous-integration/drone/push Build is passing
Details
Buffer uploads now require a command buffer, like textures do. Additionally it is now regarded as an error to upload data in the middle of a render pass.
Reviewed-on: #6
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
2022-01-13 23:08:08 +00:00
cosmonaut
0cd9a2e8e9
fix validation error on exit
continuous-integration/drone/push Build is passing
Details
2022-01-13 12:03:44 -08:00
cosmonaut
0ffa045f78
fix UBO descriptor set not being resized
2022-01-13 12:03:32 -08:00
cosmonaut
c17ec99c50
deadlock fixes
continuous-integration/drone/push Build is passing
Details
2022-01-12 23:09:06 -08:00
cosmonaut
8e04b357db
reset uniform buffer offset when acquiring
continuous-integration/drone/push Build is passing
Details
2022-01-12 22:47:04 -08:00
cosmonaut
62789005dd
fix for multi-submit
continuous-integration/drone/push Build is passing
Details
2022-01-12 22:04:07 -08:00
cosmonaut
53c65fb5eb
fix incorrect index
continuous-integration/drone/push Build is passing
Details
2022-01-12 22:00:08 -08:00
cosmonaut
0e05ed6b34
Buffer and Submission Rework ( #1 )
...
continuous-integration/drone/push Build is passing
Details
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: #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
continuous-integration/drone/push Build is passing
Details
2021-11-14 20:36:26 -08:00
cosmonaut
ab941a68df
fix debug mode flag not set before creating instance
continuous-integration/drone/push Build is passing
Details
2021-11-08 14:25:18 -08:00
cosmonaut
dd1ba55312
fix YUV upload
2021-02-27 13:03:30 -08:00
cosmonaut
b6a09517c2
change clear color type
continuous-integration/drone/push Build is passing
Details
2021-02-09 22:51:49 -08:00
cosmonaut
17524fd30b
fix depth attachment barriers
continuous-integration/drone/push Build is passing
Details
2021-02-09 17:52:26 -08:00
cosmonaut
8f1cdf190f
change shader uniform push to take pipelines instead of command buffers
continuous-integration/drone/push Build is passing
Details
2021-02-05 19:59:29 -08:00
cosmonaut
7f3e89315e
uniform API update
continuous-integration/drone/push Build is passing
Details
2021-02-02 16:37:01 -08:00
cosmonaut
4699c158f3
calculate texture length internally + fix rename
continuous-integration/drone/push Build is passing
Details
2021-01-31 21:17:27 -08:00
cosmonaut
76c845cbb4
rename PushShaderParams to PushShaderUniforms
continuous-integration/drone/push Build is passing
Details
2021-01-31 19:37:16 -08:00
cosmonaut
254d209a48
fix issue where texture staging buffer would be too small to contain incoming data
continuous-integration/drone/push Build is passing
Details
2021-01-31 18:01:21 -08:00
cosmonaut
a60725fecc
fix bad malloc size
continuous-integration/drone/push Build is passing
Details
2021-01-31 17:16:32 -08:00
cosmonaut
d99bd756f4
remove extra region merge checks
continuous-integration/drone/push Build is passing
Details
2021-01-31 16:29:38 -08:00
cosmonaut
952cf974b4
fix empty compute image descriptor set creation
continuous-integration/drone/push Build is passing
Details
2021-01-31 14:30:16 -08:00
cosmonaut
52d06f9f6c
merge free regions
continuous-integration/drone/push Build is passing
Details
2021-01-29 16:03:00 -08:00
cosmonaut
b2199fcaae
improve device enumeration + fix host memory allocation
continuous-integration/drone/push Build is passing
Details
2021-01-29 15:57:58 -08:00
cosmonaut
978d1e9451
cpu texture alloc tweak
continuous-integration/drone/push Build is passing
Details
2021-01-28 22:05:44 -08:00
cosmonaut
7bbb15d8a5
fix depth RTs
continuous-integration/drone/push Build is passing
Details
2021-01-28 21:48:50 -08:00
cosmonaut
b854a822d6
fix some depth issues
continuous-integration/drone/push Build is passing
Details
2021-01-28 21:37:11 -08:00
cosmonaut
6457967470
texture alloc fallback to host memory
continuous-integration/drone/push Build is passing
Details
2021-01-27 12:51:36 -08:00
cosmonaut
68d9a74ff4
change renderArea to a pointer
continuous-integration/drone/push Build is passing
Details
2021-01-26 20:27:42 -08:00
cosmonaut
316e662f44
remove distinction between color target and depth target
continuous-integration/drone/push Build is passing
Details
2021-01-26 18:57:46 -08:00
cosmonaut
fe03f1739a
change Clear definition to make more sense
continuous-integration/drone/push Build is passing
Details
2021-01-22 14:16:02 -08:00
cosmonaut
d9700707d0
fix index buffer binding
continuous-integration/drone/push Build is passing
Details
2021-01-21 14:03:36 -08:00
cosmonaut
41ea091749
fix hang when staging buffer flushes
continuous-integration/drone/push Build is passing
Details
2021-01-21 12:34:50 -08:00
cosmonaut
6a1c2aa9bf
fix transfer flush submission
continuous-integration/drone/push Build is passing
Details
2021-01-20 17:16:43 -08:00
cosmonaut
56f4c3c2c4
texture creation uses one function + Refresh_TextureCreateInfo
2021-01-14 01:52:45 -08:00
cosmonaut
79bc36d99d
replace topologyState with primitiveType
2021-01-13 21:06:20 -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
b19fab415d
misc API tweaks
2021-01-05 15:53:16 -08:00
cosmonaut
4ca101099d
uncapitalize REFRESH in API calls
2021-01-05 15:05:16 -08:00
thatcosmonaut
2dbfab6b98
DroneCI ( #12 )
2021-01-04 23:31:56 -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
3066fce16b
few more mutex fixes
2021-01-03 14:00:43 -08:00
cosmonaut
62d962cf23
staging buffer lock
2021-01-03 14:00:43 -08:00
cosmonaut
e91a83f357
memory thread safety
2021-01-03 14:00:43 -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
10d326b201
revert exclusive transfer queue
2021-01-03 14:00:43 -08:00
cosmonaut
dc2c3ef111
transfer fixes
2021-01-03 14:00:43 -08:00
cosmonaut
47c951ec14
new command pool structure
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