|
|
|
@ -65,6 +65,8 @@ enum class Interpolation {
|
|
|
|
|
struct ConstantBufferDescriptor {
|
|
|
|
|
u32 index;
|
|
|
|
|
u32 count;
|
|
|
|
|
|
|
|
|
|
auto operator<=>(const ConstantBufferDescriptor&) const = default;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct StorageBufferDescriptor {
|
|
|
|
@ -72,6 +74,8 @@ struct StorageBufferDescriptor {
|
|
|
|
|
u32 cbuf_offset;
|
|
|
|
|
u32 count;
|
|
|
|
|
bool is_written;
|
|
|
|
|
|
|
|
|
|
auto operator<=>(const StorageBufferDescriptor&) const = default;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct TextureBufferDescriptor {
|
|
|
|
@ -84,6 +88,8 @@ struct TextureBufferDescriptor {
|
|
|
|
|
u32 secondary_shift_left;
|
|
|
|
|
u32 count;
|
|
|
|
|
u32 size_shift;
|
|
|
|
|
|
|
|
|
|
auto operator<=>(const TextureBufferDescriptor&) const = default;
|
|
|
|
|
};
|
|
|
|
|
using TextureBufferDescriptors = boost::container::small_vector<TextureBufferDescriptor, 6>;
|
|
|
|
|
|
|
|
|
@ -95,6 +101,8 @@ struct ImageBufferDescriptor {
|
|
|
|
|
u32 cbuf_offset;
|
|
|
|
|
u32 count;
|
|
|
|
|
u32 size_shift;
|
|
|
|
|
|
|
|
|
|
auto operator<=>(const ImageBufferDescriptor&) const = default;
|
|
|
|
|
};
|
|
|
|
|
using ImageBufferDescriptors = boost::container::small_vector<ImageBufferDescriptor, 2>;
|
|
|
|
|
|
|
|
|
@ -110,6 +118,8 @@ struct TextureDescriptor {
|
|
|
|
|
u32 secondary_shift_left;
|
|
|
|
|
u32 count;
|
|
|
|
|
u32 size_shift;
|
|
|
|
|
|
|
|
|
|
auto operator<=>(const TextureDescriptor&) const = default;
|
|
|
|
|
};
|
|
|
|
|
using TextureDescriptors = boost::container::small_vector<TextureDescriptor, 12>;
|
|
|
|
|
|
|
|
|
@ -122,6 +132,8 @@ struct ImageDescriptor {
|
|
|
|
|
u32 cbuf_offset;
|
|
|
|
|
u32 count;
|
|
|
|
|
u32 size_shift;
|
|
|
|
|
|
|
|
|
|
auto operator<=>(const ImageDescriptor&) const = default;
|
|
|
|
|
};
|
|
|
|
|
using ImageDescriptors = boost::container::small_vector<ImageDescriptor, 4>;
|
|
|
|
|
|
|
|
|
|