summaryrefslogtreecommitdiffstats
path: root/servers/rendering/rendering_device.h
diff options
context:
space:
mode:
Diffstat (limited to 'servers/rendering/rendering_device.h')
-rw-r--r--servers/rendering/rendering_device.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/servers/rendering/rendering_device.h b/servers/rendering/rendering_device.h
index 1ade1b25c4..80c5cda6d1 100644
--- a/servers/rendering/rendering_device.h
+++ b/servers/rendering/rendering_device.h
@@ -518,6 +518,22 @@ public:
TextureSwizzle swizzle_b;
TextureSwizzle swizzle_a;
+ bool operator==(const TextureView &p_view) const {
+ if (format_override != p_view.format_override) {
+ return false;
+ } else if (swizzle_r != p_view.swizzle_r) {
+ return false;
+ } else if (swizzle_g != p_view.swizzle_g) {
+ return false;
+ } else if (swizzle_b != p_view.swizzle_b) {
+ return false;
+ } else if (swizzle_a != p_view.swizzle_a) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+
TextureView() {
format_override = DATA_FORMAT_MAX; //means, use same as format
swizzle_r = TEXTURE_SWIZZLE_R;
@@ -529,7 +545,7 @@ public:
virtual RID texture_create(const TextureFormat &p_format, const TextureView &p_view, const Vector<Vector<uint8_t>> &p_data = Vector<Vector<uint8_t>>()) = 0;
virtual RID texture_create_shared(const TextureView &p_view, RID p_with_texture) = 0;
- virtual RID texture_create_from_extension(TextureType p_type, DataFormat p_format, TextureSamples p_samples, uint64_t p_flags, uint64_t p_image, uint64_t p_width, uint64_t p_height, uint64_t p_depth, uint64_t p_layers) = 0;
+ virtual RID texture_create_from_extension(TextureType p_type, DataFormat p_format, TextureSamples p_samples, BitField<RenderingDevice::TextureUsageBits> p_flags, uint64_t p_image, uint64_t p_width, uint64_t p_height, uint64_t p_depth, uint64_t p_layers) = 0;
enum TextureSliceType {
TEXTURE_SLICE_2D,
@@ -1270,6 +1286,8 @@ public:
LIMIT_MAX_VIEWPORT_DIMENSIONS_X,
LIMIT_MAX_VIEWPORT_DIMENSIONS_Y,
LIMIT_SUBGROUP_SIZE,
+ LIMIT_SUBGROUP_MIN_SIZE,
+ LIMIT_SUBGROUP_MAX_SIZE,
LIMIT_SUBGROUP_IN_SHADERS, // Set flags using SHADER_STAGE_VERTEX_BIT, SHADER_STAGE_FRAGMENT_BIT, etc.
LIMIT_SUBGROUP_OPERATIONS,
LIMIT_VRS_TEXEL_WIDTH,