From 46e04b29e95019e4f384d321d29adea1e5fa3ea9 Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Sun, 25 Sep 2022 17:49:15 +0300 Subject: [PATCH] Add flat interpolation qualifier for integer inputs in fragment shader --- source/glsl/generate.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/glsl/generate.cpp b/source/glsl/generate.cpp index cc427d05..635d9f15 100644 --- a/source/glsl/generate.cpp +++ b/source/glsl/generate.cpp @@ -2,6 +2,7 @@ #include #include #include "generate.h" +#include "reflect.h" using namespace std; @@ -105,6 +106,11 @@ VariableDeclaration *InterfaceGenerator::generate_interface(VariableDeclaration VariableDeclaration* iface_var = new VariableDeclaration; iface_var->sampling = var.sampling; + if(stage->type==Stage::FRAGMENT && iface=="in") + if(BasicTypeDeclaration *basic = dynamic_cast(var.type_declaration)) + if(BasicTypeDeclaration *elem = get_element_type(*basic)) + if(elem->kind==BasicTypeDeclaration::INT) + iface_var->interpolation = "flat"; iface_var->interface = iface; iface_var->type = var.type; iface_var->name = name; -- 2.43.0