Refresh/src
TheSpydog 6439516835
continuous-integration/drone/push Build is passing Details
ABI break: Textures now have a sample count, not render passes (#37)
This change makes Refresh behave more like FNA and other rendering APIs, where user-side textures have a sample count instead of generating MSAA RTs on the fly.

This should theoretically reduce memory consumption since subresource views no longer generate their own MSAA textures. Instead, each texture with a sample count > 1 now has a reference to an MSAA texture baked into the root texture itself, so views can just reference that.

This also simplifies VulkanRenderTarget significantly, to the point where it's just a wrapper around VkImageView. We could probably remove the abstraction entirely at this point.

Since VkRenderPass objects still require knowing the sample count, we can use the first bound texture's sample count. This means users only have to specify sample count in two places -- the graphics pipeline, and the texture. Easy enough.

I also noticed and fixed a bug with clear values with MSAA levels > 1.

Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Reviewed-on: #37
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
2023-01-30 18:22:16 +00:00
..
Refresh.c Shader cross-compiler (#34) 2023-01-20 23:19:12 +00:00
Refresh_Driver.h Remove fixed command buffers + minor cleanup (#33) 2023-01-14 18:03:58 +00:00
Refresh_Driver_Template.txt Remove SRC1 blend factors and depthClampEnable flag 2022-12-28 19:10:59 -08:00
Refresh_Driver_Vulkan.c ABI break: Textures now have a sample count, not render passes (#37) 2023-01-30 18:22:16 +00:00
Refresh_Driver_Vulkan_vkfuncs.h add DrawPrimitivesIndirect + fix sync issues 2022-08-25 12:21:49 -07:00
Refresh_Image.c Rework Presentation Flow (#15) 2022-03-02 06:33:57 +00:00
miniz.h image load and save 2020-12-27 22:45:12 -08:00
stb_image.h image load and save 2020-12-27 22:45:12 -08:00
stb_image_write.h image load and save 2020-12-27 22:45:12 -08:00