summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/rendering_device_vulkan.h
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-06-28 08:25:38 +0200
committerGitHub <noreply@github.com>2022-06-28 08:25:38 +0200
commit16d9918b514d4d2d7fb846de8f2b1107aefab0b9 (patch)
treedfd0d8b3a50c0bedf67373677eafd0bb8f8f74c0 /drivers/vulkan/rendering_device_vulkan.h
parenta386e59d4f4032a2311e8f127010290638b75969 (diff)
parentfc6ac4a155c45181d0a3528a4891c5a12e412d1f (diff)
downloadredot-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.h6
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;
}