Fix T95039,T94998: Shaders compilation errors on Mac.
Cause was incorrect logic when generating the resource layout. It the explicit_location_support setting was ignored and the binding were generated for image, uniform buffers and storage buffers.
This commit is contained in:
@@ -285,8 +285,7 @@ static std::ostream &print_qualifier(std::ostream &os, const Qualifier &qualifie
|
||||
|
||||
static void print_resource(std::ostream &os, const ShaderCreateInfo::Resource &res)
|
||||
{
|
||||
if (res.bind_type != ShaderCreateInfo::Resource::BindType::SAMPLER ||
|
||||
GLContext::explicit_location_support) {
|
||||
if (GLContext::explicit_location_support) {
|
||||
os << "layout(binding = " << res.slot;
|
||||
if (res.bind_type == ShaderCreateInfo::Resource::BindType::IMAGE) {
|
||||
os << ", " << res.image.format;
|
||||
@@ -299,6 +298,9 @@ static void print_resource(std::ostream &os, const ShaderCreateInfo::Resource &r
|
||||
}
|
||||
os << ") ";
|
||||
}
|
||||
else if (res.bind_type == ShaderCreateInfo::Resource::BindType::UNIFORM_BUFFER) {
|
||||
os << "layout(std140) ";
|
||||
}
|
||||
|
||||
int64_t array_offset;
|
||||
StringRef name_no_array;
|
||||
|
||||
Reference in New Issue
Block a user