summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/ir_opt
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-06-13 02:14:56 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:38 +0200
commit6aa1bf7b6ff86bb7325e5b50709ddf5477b1e855 (patch)
treef433baa37a2a5d258a2b991b327881f971214ccf /src/shader_recompiler/ir_opt
parentgl_shader_cache: Remove const from pipeline source arguments (diff)
downloadyuzu-6aa1bf7b6ff86bb7325e5b50709ddf5477b1e855.tar
yuzu-6aa1bf7b6ff86bb7325e5b50709ddf5477b1e855.tar.gz
yuzu-6aa1bf7b6ff86bb7325e5b50709ddf5477b1e855.tar.bz2
yuzu-6aa1bf7b6ff86bb7325e5b50709ddf5477b1e855.tar.lz
yuzu-6aa1bf7b6ff86bb7325e5b50709ddf5477b1e855.tar.xz
yuzu-6aa1bf7b6ff86bb7325e5b50709ddf5477b1e855.tar.zst
yuzu-6aa1bf7b6ff86bb7325e5b50709ddf5477b1e855.zip
Diffstat (limited to 'src/shader_recompiler/ir_opt')
-rw-r--r--src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
index dc78cdefb..10d2822ae 100644
--- a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
+++ b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
@@ -35,6 +35,7 @@ void GetAttribute(Info& info, IR::Attribute attr) {
}
if (attr >= IR::Attribute::FixedFncTexture0S && attr <= IR::Attribute::FixedFncTexture9Q) {
info.loads_fixed_fnc_textures = true;
+ info.loads_legacy_varyings = true;
return;
}
switch (attr) {
@@ -52,6 +53,7 @@ void GetAttribute(Info& info, IR::Attribute attr) {
case IR::Attribute::ColorFrontDiffuseB:
case IR::Attribute::ColorFrontDiffuseA:
info.loads_color_front_diffuse = true;
+ info.loads_legacy_varyings = true;
break;
case IR::Attribute::PointSpriteS:
case IR::Attribute::PointSpriteT:
@@ -82,6 +84,7 @@ void SetAttribute(Info& info, IR::Attribute attr) {
}
if (attr >= IR::Attribute::FixedFncTexture0S && attr <= IR::Attribute::FixedFncTexture9Q) {
info.stores_fixed_fnc_textures = true;
+ info.stores_legacy_varyings = true;
return;
}
switch (attr) {
@@ -105,24 +108,28 @@ void SetAttribute(Info& info, IR::Attribute attr) {
case IR::Attribute::ColorFrontDiffuseB:
case IR::Attribute::ColorFrontDiffuseA:
info.stores_color_front_diffuse = true;
+ info.stores_legacy_varyings = true;
break;
case IR::Attribute::ColorFrontSpecularR:
case IR::Attribute::ColorFrontSpecularG:
case IR::Attribute::ColorFrontSpecularB:
case IR::Attribute::ColorFrontSpecularA:
info.stores_color_front_specular = true;
+ info.stores_legacy_varyings = true;
break;
case IR::Attribute::ColorBackDiffuseR:
case IR::Attribute::ColorBackDiffuseG:
case IR::Attribute::ColorBackDiffuseB:
case IR::Attribute::ColorBackDiffuseA:
info.stores_color_back_diffuse = true;
+ info.stores_legacy_varyings = true;
break;
case IR::Attribute::ColorBackSpecularR:
case IR::Attribute::ColorBackSpecularG:
case IR::Attribute::ColorBackSpecularB:
case IR::Attribute::ColorBackSpecularA:
- info.stores_color_front_specular = true;
+ info.stores_color_back_specular = true;
+ info.stores_legacy_varyings = true;
break;
case IR::Attribute::ClipDistance0:
case IR::Attribute::ClipDistance1: