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:
parent
8c7da07085
commit
d94e3633dc
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user