[*] Yet another dumb fuck issue hidden by a flag only the compiler exes can trigger
This commit is contained in:
parent
5159b4feba
commit
69dfdb7a2d
@ -26,6 +26,7 @@
|
||||
#include "spirv_cfg.hpp"
|
||||
#include "spirv_common.hpp"
|
||||
#include "spirv_parser.hpp"
|
||||
#include "spirv_cross_util.hpp"
|
||||
#include <algorithm>
|
||||
#include <cstring>
|
||||
#include <utility>
|
||||
@ -3190,7 +3191,7 @@ VariableID Compiler::build_dummy_sampler_for_combined_images()
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Compiler::build_combined_image_samplers()
|
||||
void Compiler::build_combined_image_samplers(bool bReserve)
|
||||
{
|
||||
ir.for_each_typed_id<SPIRFunction>([&](uint32_t, SPIRFunction &func) {
|
||||
func.combined_parameters.clear();
|
||||
@ -3201,6 +3202,10 @@ void Compiler::build_combined_image_samplers()
|
||||
combined_image_samplers.clear();
|
||||
CombinedImageSamplerHandler handler(*this);
|
||||
traverse_all_reachable_opcodes(get<SPIRFunction>(ir.default_entry_point), handler);
|
||||
if (bReserve)
|
||||
{
|
||||
spirv_cross_util::inherit_combined_sampler_bindings(*this);
|
||||
}
|
||||
}
|
||||
|
||||
SmallVector<SpecializationConstant> Compiler::get_specialization_constants() const
|
||||
|
@ -429,7 +429,7 @@ public:
|
||||
// Combined image samplers originating from this set are always considered active variables.
|
||||
// Arrays of separate samplers are not supported, but arrays of separate images are supported.
|
||||
// Array of images + sampler -> Array of combined image samplers.
|
||||
void build_combined_image_samplers();
|
||||
void build_combined_image_samplers(bool bPreserve = false);
|
||||
|
||||
// Gets a remapping for the combined image samplers.
|
||||
const SmallVector<CombinedImageSampler> &get_combined_image_samplers() const
|
||||
|
Loading…
Reference in New Issue
Block a user