HACK: Bind stages before and after bindings
Works around a bug where program parameters are only applied to the current stage, and this one wasn't bound at the moment. Affects all SSBO usages on GLASM.
This commit is contained in:
parent
e8ed904805
commit
85fc7e584e
|
@ -240,6 +240,17 @@ void GraphicsProgram::Configure(bool is_indexed) {
|
|||
buffer_cache.UpdateGraphicsBuffers(is_indexed);
|
||||
buffer_cache.BindHostGeometryBuffers(is_indexed);
|
||||
|
||||
// FIXME: Unhack this
|
||||
if (assembly_programs[0].handle != 0) {
|
||||
// TODO: State track this
|
||||
glEnable(GL_VERTEX_PROGRAM_NV);
|
||||
glEnable(GL_FRAGMENT_PROGRAM_NV);
|
||||
glBindProgramARB(GL_VERTEX_PROGRAM_NV, assembly_programs[0].handle);
|
||||
glBindProgramARB(GL_FRAGMENT_PROGRAM_NV, assembly_programs[4].handle);
|
||||
program_manager.BindProgram(0);
|
||||
} else {
|
||||
program_manager.BindProgram(program.handle);
|
||||
}
|
||||
const ImageId* views_it{image_view_ids.data()};
|
||||
GLsizei texture_binding = 0;
|
||||
GLsizei image_binding = 0;
|
||||
|
|
Reference in New Issue