gl_shader_decompiler: Address feedback
This commit is contained in:
		| @@ -459,7 +459,7 @@ private: | ||||
|         for (const auto& sampler : samplers) { | ||||
|             const std::string name{GetSampler(sampler)}; | ||||
|             const std::string description{"layout (binding = SAMPLER_BINDING_" + | ||||
|                                           std::to_string(sampler.GetIndex()) + ") uniform "}; | ||||
|                                           std::to_string(sampler.GetIndex()) + ") uniform"}; | ||||
|             std::string sampler_type = [&]() { | ||||
|                 switch (sampler.GetType()) { | ||||
|                 case Tegra::Shader::TextureType::Texture1D: | ||||
| @@ -488,13 +488,13 @@ private: | ||||
|                 // preprocessor flag and use one or the other from the GPU state. This has to be | ||||
|                 // done because shaders don't have enough information to determine the texture type. | ||||
|                 EmitIfdefIsBuffer(sampler); | ||||
|                 code.AddLine(description + "samplerBuffer " + name + ';'); | ||||
|                 code.AddLine("{} samplerBuffer {};", description, name); | ||||
|                 code.AddLine("#else"); | ||||
|                 code.AddLine(description + sampler_type + ' ' + name + ';'); | ||||
|                 code.AddLine("{} {} {};", description, sampler_type, name); | ||||
|                 code.AddLine("#endif"); | ||||
|             } else { | ||||
|                 // The other texture types (2D, 3D and cubes) don't have this issue. | ||||
|                 code.AddLine(description + sampler_type + ' ' + name + ';'); | ||||
|                 code.AddLine("{} {} {};", description, sampler_type, name); | ||||
|             } | ||||
|         } | ||||
|         if (!samplers.empty()) { | ||||
| @@ -557,12 +557,13 @@ private: | ||||
|                     return "image1D"; | ||||
|                 } | ||||
|             }(); | ||||
|             code.AddLine("layout (binding = IMAGE_BINDING_" + std::to_string(image.GetIndex()) + | ||||
|                          ") coherent volatile writeonly uniform " + image_type + ' ' + | ||||
|                          GetImage(image) + ';'); | ||||
|             code.AddLine("layout (binding = IMAGE_BINDING_{}) coherent volatile writeonly uniform " | ||||
|                          "{} {};", | ||||
|                          image.GetIndex(), image_type, GetImage(image)); | ||||
|         } | ||||
|         if (!images.empty()) | ||||
|         if (!images.empty()) { | ||||
|             code.AddNewLine(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     void VisitBlock(const NodeBlock& bb) { | ||||
| @@ -1504,9 +1505,9 @@ private: | ||||
|  | ||||
|         const std::string tmp{code.GenerateTemporary()}; | ||||
|         EmitIfdefIsBuffer(meta->sampler); | ||||
|         code.AddLine("float " + tmp + " = " + expr_buffer + ';'); | ||||
|         code.AddLine("float {} = {};", tmp, expr_buffer); | ||||
|         code.AddLine("#else"); | ||||
|         code.AddLine("float " + tmp + " = " + expr + ';'); | ||||
|         code.AddLine("float {} = {};", tmp, expr); | ||||
|         code.AddLine("#endif"); | ||||
|  | ||||
|         return tmp; | ||||
| @@ -1860,7 +1861,7 @@ private: | ||||
|     } | ||||
|  | ||||
|     void EmitIfdefIsBuffer(const Sampler& sampler) { | ||||
|         code.AddLine(fmt::format("#ifdef SAMPLER_{}_IS_BUFFER", sampler.GetIndex())); | ||||
|         code.AddLine("#ifdef SAMPLER_{}_IS_BUFFER", sampler.GetIndex()); | ||||
|     } | ||||
|  | ||||
|     std::string GetDeclarationWithSuffix(u32 index, const std::string& name) const { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ReinUsesLisp
					ReinUsesLisp