MetalDevice: Explicitly bind fragment resources

Fixes adaptive downsampling with Metal renderer.
This commit is contained in:
Stenzek
2023-12-18 18:44:22 +10:00
parent 6fe2177ee7
commit f4fb069216
4 changed files with 24 additions and 7 deletions

View File

@ -336,8 +336,8 @@ void ShaderGen::DeclareTexture(std::stringstream& ss, const char* name, u32 inde
{
if (m_glsl)
{
if (IsVulkan())
ss << "layout(set = " << (m_has_uniform_buffer ? 1 : 0) << ", binding = " << index << ") ";
if (m_spirv)
ss << "layout(set = " << ((m_has_uniform_buffer || IsMetal()) ? 1 : 0) << ", binding = " << index << ") ";
else if (m_use_glsl_binding_layout)
ss << "layout(binding = " << index << ") ";
@ -354,8 +354,8 @@ void ShaderGen::DeclareTextureBuffer(std::stringstream& ss, const char* name, u3
{
if (m_glsl)
{
if (IsVulkan())
ss << "layout(set = 0, binding = " << index << ") ";
if (m_spirv)
ss << "layout(set = " << ((m_has_uniform_buffer || IsMetal()) ? 1 : 0) << ", binding = " << index << ") ";
else if (m_use_glsl_binding_layout)
ss << "layout(binding = " << index << ") ";