|
|
@ -386,8 +386,10 @@ public:
|
|
|
|
return Add(texture_buffer_descriptors, desc, [&desc](const auto& existing) {
|
|
|
|
return Add(texture_buffer_descriptors, desc, [&desc](const auto& existing) {
|
|
|
|
return desc.cbuf_index == existing.cbuf_index &&
|
|
|
|
return desc.cbuf_index == existing.cbuf_index &&
|
|
|
|
desc.cbuf_offset == existing.cbuf_offset &&
|
|
|
|
desc.cbuf_offset == existing.cbuf_offset &&
|
|
|
|
|
|
|
|
desc.shift_left == existing.shift_left &&
|
|
|
|
desc.secondary_cbuf_index == existing.secondary_cbuf_index &&
|
|
|
|
desc.secondary_cbuf_index == existing.secondary_cbuf_index &&
|
|
|
|
desc.secondary_cbuf_offset == existing.secondary_cbuf_offset &&
|
|
|
|
desc.secondary_cbuf_offset == existing.secondary_cbuf_offset &&
|
|
|
|
|
|
|
|
desc.secondary_shift_left == existing.secondary_shift_left &&
|
|
|
|
desc.count == existing.count && desc.size_shift == existing.size_shift &&
|
|
|
|
desc.count == existing.count && desc.size_shift == existing.size_shift &&
|
|
|
|
desc.has_secondary == existing.has_secondary;
|
|
|
|
desc.has_secondary == existing.has_secondary;
|
|
|
|
});
|
|
|
|
});
|
|
|
@ -405,15 +407,20 @@ public:
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
u32 Add(const TextureDescriptor& desc) {
|
|
|
|
u32 Add(const TextureDescriptor& desc) {
|
|
|
|
return Add(texture_descriptors, desc, [&desc](const auto& existing) {
|
|
|
|
const u32 index{Add(texture_descriptors, desc, [&desc](const auto& existing) {
|
|
|
|
return desc.type == existing.type && desc.is_depth == existing.is_depth &&
|
|
|
|
return desc.type == existing.type && desc.is_depth == existing.is_depth &&
|
|
|
|
desc.has_secondary == existing.has_secondary &&
|
|
|
|
desc.has_secondary == existing.has_secondary &&
|
|
|
|
desc.cbuf_index == existing.cbuf_index &&
|
|
|
|
desc.cbuf_index == existing.cbuf_index &&
|
|
|
|
desc.cbuf_offset == existing.cbuf_offset &&
|
|
|
|
desc.cbuf_offset == existing.cbuf_offset &&
|
|
|
|
|
|
|
|
desc.shift_left == existing.shift_left &&
|
|
|
|
desc.secondary_cbuf_index == existing.secondary_cbuf_index &&
|
|
|
|
desc.secondary_cbuf_index == existing.secondary_cbuf_index &&
|
|
|
|
desc.secondary_cbuf_offset == existing.secondary_cbuf_offset &&
|
|
|
|
desc.secondary_cbuf_offset == existing.secondary_cbuf_offset &&
|
|
|
|
|
|
|
|
desc.secondary_shift_left == existing.secondary_shift_left &&
|
|
|
|
desc.count == existing.count && desc.size_shift == existing.size_shift;
|
|
|
|
desc.count == existing.count && desc.size_shift == existing.size_shift;
|
|
|
|
});
|
|
|
|
})};
|
|
|
|
|
|
|
|
// TODO: Read this from TIC
|
|
|
|
|
|
|
|
texture_descriptors[index].is_multisample |= desc.is_multisample;
|
|
|
|
|
|
|
|
return index;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
u32 Add(const ImageDescriptor& desc) {
|
|
|
|
u32 Add(const ImageDescriptor& desc) {
|
|
|
|