This commit is contained in:
Spartan322
2024-12-15 09:24:31 -05:00
1031 changed files with 128643 additions and 5393 deletions

View File

@@ -45,6 +45,8 @@ class RenderingDeviceCommons : public Object {
// with RenderingDeviceDriver.
////////////////////////////////////////////
public:
static const bool command_pool_reset_enabled = true;
/*****************/
/**** GENERIC ****/
/*****************/
@@ -361,6 +363,22 @@ public:
TEXTURE_USAGE_CAN_COPY_TO_BIT = (1 << 8),
TEXTURE_USAGE_INPUT_ATTACHMENT_BIT = (1 << 9),
TEXTURE_USAGE_VRS_ATTACHMENT_BIT = (1 << 10),
// When set, the texture is not backed by actual memory. It only ever lives in the cache.
// This is particularly useful for:
// 1. Depth/stencil buffers that are not needed after producing the colour output.
// 2. MSAA surfaces that are immediately resolved (i.e. its raw content isn't needed).
//
// This flag heavily improves performance & saves memory on TBDR GPUs (e.g. mobile).
// On Desktop this flag won't save memory but it still instructs the render graph that data will
// be discarded aggressively which may still improve some performance.
//
// It is not valid to perform copies from/to this texture, since it doesn't occupy actual RAM.
// It is also not valid to sample from this texture except using subpasses or via read/write
// pixel shader extensions (e.g. VK_EXT_rasterization_order_attachment_access).
//
// Try to set this bit as much as possible. If you set it, validation doesn't complain
// and it works fine on mobile, then go ahead.
TEXTURE_USAGE_TRANSIENT_BIT = (1 << 11),
};
struct TextureFormat {