This commit is contained in:
Spartan322
2025-04-19 07:12:16 -04:00
5209 changed files with 229124 additions and 66199 deletions

View File

@@ -30,8 +30,7 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/**************************************************************************/
#ifndef RENDERING_DEVICE_COMMONS_H
#define RENDERING_DEVICE_COMMONS_H
#pragma once
#include "core/object/object.h"
#include "core/variant/type_info.h"
@@ -272,6 +271,20 @@ public:
DATA_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
DATA_FORMAT_G16_B16R16_2PLANE_422_UNORM,
DATA_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
DATA_FORMAT_ASTC_4x4_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_5x4_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_5x5_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_6x5_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_6x6_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_8x5_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_8x6_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_8x8_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_10x5_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_10x6_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_10x8_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_10x10_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_12x10_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_ASTC_12x12_SFLOAT_BLOCK, // HDR variant.
DATA_FORMAT_MAX,
};
@@ -379,6 +392,7 @@ public:
// Try to set this bit as much as possible. If you set it, validation doesn't complain
// and it works fine on mobile, then go ahead.
TEXTURE_USAGE_TRANSIENT_BIT = (1 << 11),
TEXTURE_USAGE_MAX_BIT = TEXTURE_USAGE_TRANSIENT_BIT,
};
struct TextureFormat {
@@ -871,11 +885,7 @@ public:
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,
LIMIT_VRS_TEXEL_HEIGHT,
LIMIT_VRS_MAX_FRAGMENT_WIDTH,
LIMIT_VRS_MAX_FRAGMENT_HEIGHT,
LIMIT_METALFX_TEMPORAL_SCALER_MIN_SCALE,
LIMIT_METALFX_TEMPORAL_SCALER_MIN_SCALE = 46,
LIMIT_METALFX_TEMPORAL_SCALER_MAX_SCALE,
LIMIT_MAX_SHADER_VARYINGS,
};
@@ -954,7 +964,7 @@ public:
UniformType type = UniformType::UNIFORM_TYPE_MAX;
bool writable = false;
uint32_t binding = 0;
BitField<ShaderStage> stages;
BitField<ShaderStage> stages = {};
uint32_t length = 0; // Size of arrays (in total elements), or ubos (in bytes * total elements).
bool operator!=(const ShaderUniform &p_other) const {
@@ -982,7 +992,7 @@ public:
};
struct ShaderSpecializationConstant : public PipelineSpecializationConstant {
BitField<ShaderStage> stages;
BitField<ShaderStage> stages = {};
bool operator<(const ShaderSpecializationConstant &p_other) const { return constant_id < p_other.constant_id; }
};
@@ -1001,9 +1011,7 @@ public:
protected:
struct ShaderReflection : public ShaderDescription {
BitField<ShaderStage> stages;
BitField<ShaderStage> push_constant_stages;
BitField<ShaderStage> stages = {};
BitField<ShaderStage> push_constant_stages = {};
};
};
#endif // RENDERING_DEVICE_COMMONS_H