1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-27 04:54:15 +01:00

[dxvk] Introduce concept of order-invariant atomic stores

This commit is contained in:
Philip Rebohle 2025-02-15 13:34:03 +01:00 committed by Philip Rebohle
parent 8c7da07085
commit d94e3633dc

View File

@ -11,6 +11,24 @@ namespace dxvk {
class DxvkDevice;
/**
* \brief Order-invariant atomic access operation
*
* Information used to optimize barriers when a resource
* is accessed exlusively via order-invariant stores.
*/
enum class DxvkAccessOp : uint32_t {
None = 0,
Or = 1,
And = 2,
Xor = 3,
Add = 4,
IMin = 5,
IMax = 6,
UMin = 7,
UMax = 8,
};
/**
* \brief Descriptor set indices
*/
@ -37,6 +55,7 @@ namespace dxvk {
VkShaderStageFlagBits stage; ///< Shader stage
VkAccessFlags access; ///< Access mask for the resource
VkBool32 uboSet; ///< Whether to include this in the UBO set
DxvkAccessOp accessOp; ///< Order-invariant store type, if any
/**
* \brief Computes descriptor set index for the given binding