Commit Graph

256 Commits (main)
 

Author SHA1 Message Date
Caleb Cornett f5b3e466a8 Prep for PS5Driver 10 months ago
cosmonaut 2fb9a6931b fix SetTextureDataYUV image transitions 10 months ago
Hazel Stagner c01ff21359 Fix blit destination layer and level 11 months ago
cosmonaut e5da75d33a fix exponential growth when submitting multiple command buffers 11 months ago
cosmonaut 99e9dc5b8c fix framebuffer size miscalculation with depth attachment 12 months ago
cosmonaut 0e7720ccf6 D16 fallback when unsupported 12 months ago
cosmonaut 488cb8c535 add format to render pass hash 1 year ago
cosmonaut 3007b4c989 1.5.0 1 year ago
cosmonaut 163adfb5cd add BC7 support 1 year ago
cosmonaut f0b970496e vertex format changes 1 year ago
cosmonaut 38d14fd99d 1.4.0 1 year ago
cosmonaut 4bba0f99f9 remove lineWidth from RasterizerState 1 year ago
cosmonaut acefc530fd 1.3.0 1 year ago
cosmonaut 3820d458fe remove Clear and add pWidth and pHeight to AcquireSwapchainTexture 1 year ago
cosmonaut 7a0b0f5709 suboptimal on recreate is still technically fine 1 year ago
cosmonaut ce34f4a435 fix deadlock on multi window swapchain resize 1 year ago
TheSpydog eb5617f40e Update template for latest ABI breaks (#16)
Co-authored-by: Caleb Cornett <caleb.cornett@outlook.com>
Co-authored-by: cosmonaut <evan@moonside.games>
Reviewed-on: MoonsideGames/Refresh#16
Co-authored-by: TheSpydog <thespydog@noreply.example.org>
Co-committed-by: TheSpydog <thespydog@noreply.example.org>
1 year ago
cosmonaut 0380a96817 Swapchain resize fixes (#18)
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>
1 year ago
cosmonaut 22236607f7 1.2.1 1 year ago
cosmonaut 715ca591f6 fix compute pipeline create bug 1 year ago
cosmonaut 7b91c5a140 1.2.0 1 year ago
cosmonaut 2731d47419 rename viewport and scissor set functions 1 year ago
cosmonaut 0fbf1b2546 fix erroneous stack free 1 year ago
cosmonaut f6b96fe34b viewport and scissor ABI break 1 year ago
cosmonaut 9422d4975f 1.1.0 1 year ago
cosmonaut 435f56f6b7 move API defines to the top 1 year ago
cosmonaut 6302603b08 add some missing frees 1 year ago
cosmonaut 5fe4c8dbf3 remove command buffer from QueueDestroy calls 1 year ago
cosmonaut 67e3a8799c 1.0.0 1 year ago
cosmonaut ee50c04428 remove interop structs 1 year ago
cosmonaut 9eae69f96b remove unused enum 1 year ago
cosmonaut 057a48e96f separate shader types 1 year ago
cosmonaut 61e83cfba8 D3D compatibility ABI break 1 year ago
cosmonaut e4ea104a88 remove swapchain log spam 1 year ago
cosmonaut 83c2372499 only mark swapchain as needing recreate if it exists 1 year ago
cosmonaut cb99489b3c Rework Presentation Flow (#15)
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: MoonsideGames/Refresh#15
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
1 year ago
cosmonaut d22bed8b76 transition entire images + rework swapchain image management 1 year ago
cosmonaut 436b990d45 Fix intro message formatting 1 year ago
cosmonaut a26d3e3689 move color blend state to AttachmentInfo 1 year ago
cosmonaut a38a9d461d fix right alignment spacing 1 year ago
cosmonaut 517399f5d9 convert all spaces to tabs 1 year ago
cosmonaut 5187093ddc reset command buffers on the thread they were spawned 1 year ago
cosmonaut 336468cc31 fix some invalid accesses 1 year ago
cosmonaut 26a5ea91ba change colorAttachmentDescriptions to a const pointer 1 year ago
cosmonaut a531fb8593 Render Pass API Streamlining (#14)
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: MoonsideGames/Refresh#14
Co-authored-by: cosmonaut <evan@moonside.games>
Co-committed-by: cosmonaut <evan@moonside.games>
1 year ago
cosmonaut a3aea0f796 Reset fence as late as possible 1 year ago
cosmonaut 0319c26f6a Submission rewrite (#13)
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>
1 year ago
TheSpydog 1d72fdb995 Added a Refresh driver template file (#12)
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>
1 year ago
cosmonaut b54b7cc42d fix separate swapchain synchronization 1 year ago
cosmonaut 829356d927 Revise swapchain management + remove external 1 year ago