diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-06-28 08:25:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-28 08:25:38 +0200 |
commit | 16d9918b514d4d2d7fb846de8f2b1107aefab0b9 (patch) | |
tree | dfd0d8b3a50c0bedf67373677eafd0bb8f8f74c0 /drivers/vulkan/rendering_device_vulkan.h | |
parent | a386e59d4f4032a2311e8f127010290638b75969 (diff) | |
parent | fc6ac4a155c45181d0a3528a4891c5a12e412d1f (diff) | |
download | redot-engine-16d9918b514d4d2d7fb846de8f2b1107aefab0b9.tar.gz |
Merge pull request #62467 from RandomShaper/descriptor_rw_matters
Consider uniform writability part of the interface of the set
Diffstat (limited to 'drivers/vulkan/rendering_device_vulkan.h')
-rw-r--r-- | drivers/vulkan/rendering_device_vulkan.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/vulkan/rendering_device_vulkan.h b/drivers/vulkan/rendering_device_vulkan.h index 3b21ee67a1..2b92c74db9 100644 --- a/drivers/vulkan/rendering_device_vulkan.h +++ b/drivers/vulkan/rendering_device_vulkan.h @@ -544,12 +544,13 @@ class RenderingDeviceVulkan : public RenderingDevice { struct UniformInfo { UniformType type = UniformType::UNIFORM_TYPE_MAX; + bool writable = false; int binding = 0; uint32_t stages = 0; int length = 0; //size of arrays (in total elements), or ubos (in bytes * total elements) bool operator!=(const UniformInfo &p_info) const { - return (binding != p_info.binding || type != p_info.type || stages != p_info.stages || length != p_info.length); + return (binding != p_info.binding || type != p_info.type || writable != p_info.writable || stages != p_info.stages || length != p_info.length); } bool operator<(const UniformInfo &p_info) const { @@ -559,6 +560,9 @@ class RenderingDeviceVulkan : public RenderingDevice { if (type != p_info.type) { return type < p_info.type; } + if (writable != p_info.writable) { + return writable < p_info.writable; + } if (stages != p_info.stages) { return stages < p_info.stages; } |