Program change not detected
System information
- OS: Windows 10 x64 (Visual Studio 2017 & 2019)
- GPU: softpipe + LLVM
- Mesa version: 20.1.3 + LLVM 10.0.0
Describe the issue
I have a case where I draw rectangles with two different GLSL programs, but changing the program with glUseProgramObjectARB() is not taken into account.
I have been able to write a small program to reproduce the problem (it uses GLUT and GLEW).
This problem only occurs with softpipe + LLVM. It does not occur without LLVM. It occurs in debug and release compilations.
From what I have been able to see, when llvmpipe_update_derived() is called during glDrawArrays(), the llvmpipe->dirty flags LP_NEW_VS and LP_NEW_FS are not set. I've not been able to go deeper.
Regression
This problem did not occur with Mesa 19.3.2 + LLVM 9.0.1. I have reproduced it also with Mesa 20.1.2, so it may have appeared with Mesa 20.x.
Screenshots/video files (if applicable)
Screenshot of application with LLVM
Screenshot of application without LLVM
Any extra information would be greatly appreciated
TestTexEnv.cpp Source file to reproduce the problem (stdafx.h only contains the includes for GLUT and GLEW).