Summary: | ProgramBinary does not switch program correctly when using transform feedback | ||
---|---|---|---|
Product: | Mesa | Reporter: | xinghua <xinghua.cao> |
Component: | Mesa core | Assignee: | mesa-dev |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | normal | ||
Priority: | medium | CC: | jljusten, yang.gu, yunchao.he |
Version: | git | ||
Hardware: | Other | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
xinghua
2018-06-04 11:00:14 UTC
What do you mean "implicitly call useProgram"? I think ProgramBinary should overwrite the currently bound program. (Whatever UseProgram last set it to.) I'm not saying that I see anything specifically wrong with the test cases. I tried loading this page on chrome, and I did see some failures. I also tried loading it on Firefox, and I did not see any errors. (I tried to refresh a few times too.) (In reply to Jordan Justen from comment #1) > What do you mean "implicitly call useProgram"? I think ProgramBinary > should overwrite the currently bound program. (Whatever UseProgram last > set it to.) > > I'm not saying that I see anything specifically wrong with the test > cases. > > I tried loading this page on chrome, and I did see some failures. > > I also tried loading it on Firefox, and I did not see any errors. > (I tried to refresh a few times too.) Thank you for your reply. you could not reproduce this issue on Firefox. May the Firefox not cache program binary, it re-compile and re-link program, mesa could call link_program to switch "gl_program" object correctly? (In reply to Jordan Justen from comment #1) > What do you mean "implicitly call useProgram"? I think ProgramBinary > should overwrite the currently bound program. (Whatever UseProgram last > set it to.) > > I'm not saying that I see anything specifically wrong with the test > cases. > > I tried loading this page on chrome, and I did see some failures. > > I also tried loading it on Firefox, and I did not see any errors. > (I tried to refresh a few times too.) "implicitly call useProgram" does not mean to call this function directly, only need to switch "gl_program" correctly as useProgram, reference some code as useProgram. I believe this is the relevant spec quote from this bug: From Section 7.3. (PROGRAM OBJECTS) of the OpenGL 4.5 spec: "If LinkProgram or ProgramBinary successfully re-links a program object that is active for any shader stage, then the newly generated executable code will be installed as part of the current rendering state for all shader stages where the program is active. Additionally, the newly generated executable code is made part of the state of any program pipeline for all stages where the program is attached." Should be fixed by: commit e266b320590ebbeadf7c98b0b493d89886534ccb Author: Jordan Justen Date: Wed Jun 6 01:57:15 2018 -0700 mesa/program_binary: add implicit UseProgram after successful ProgramBinary A related piglit test was added in: commit f1dc46ddf8c1f033ae24d322deff663889b2267d Author: Jordan Justen Date: Fri Jun 8 22:27:57 2018 -0700 ARB_get_program_binary: Test that restoring active program takes effect *** Bug 106881 has been marked as a duplicate of this bug. *** |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.