From e13e9851f260ecf5d9b4402f21a577b2c340c5aa Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 31 Jan 2020 11:01:44 +0100 Subject: [PATCH] shader: //Cg profile should only affect the current shader Fixes #863 --- panda/src/gobj/shader.cxx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/panda/src/gobj/shader.cxx b/panda/src/gobj/shader.cxx index a60a7e169b..ee26438d4c 100644 --- a/panda/src/gobj/shader.cxx +++ b/panda/src/gobj/shader.cxx @@ -2461,9 +2461,10 @@ read(const ShaderFile &sfile, BamCacheRecord *record) { // Determine which language the shader is written in. if (_language == SL_Cg) { #ifdef HAVE_CG - cg_get_profile_from_header(_default_caps); + ShaderCaps caps = _default_caps; + cg_get_profile_from_header(caps); - if (!cg_analyze_shader(_default_caps)) { + if (!cg_analyze_shader(caps)) { shader_cat.error() << "Shader encountered an error.\n"; return false; @@ -2551,9 +2552,10 @@ load(const ShaderFile &sbody, BamCacheRecord *record) { // Determine which language the shader is written in. if (_language == SL_Cg) { #ifdef HAVE_CG - cg_get_profile_from_header(_default_caps); + ShaderCaps caps = _default_caps; + cg_get_profile_from_header(caps); - if (!cg_analyze_shader(_default_caps)) { + if (!cg_analyze_shader(caps)) { shader_cat.error() << "Shader encountered an error.\n"; return false;