mirror of https://github.com/bjornbytes/lovr.git
Fix crash in OpenVR mirror texture;
This commit is contained in:
parent
6d85f512e3
commit
6c3abad9f4
|
@ -218,7 +218,7 @@ void lovrShaderBind(Shader* shader, mat4 model, mat4 view, mat4 projection, Colo
|
|||
int dirtyView = force || memcmp(shader->view, view, 16 * sizeof(float));
|
||||
int dirtyTransform = dirtyModel || dirtyView;
|
||||
int dirtyProjection = force || memcmp(shader->projection, projection, 16 * sizeof(float));
|
||||
int dirtyColor = force || memcmp(&shader->color, &color, 4 * sizeof(uint8_t));
|
||||
int dirtyColor = force || memcmp(&shader->color, &color, sizeof(Color));
|
||||
|
||||
if (dirtyModel) {
|
||||
int uniformId = lovrShaderGetUniformId(shader, "lovrModel");
|
||||
|
|
|
@ -748,9 +748,19 @@ void lovrHeadsetRenderTo(headsetRenderCallback callback, void* userdata) {
|
|||
Color oldColor = lovrGraphicsGetColor();
|
||||
lovrGraphicsSetColor((Color) { 255, 255, 255, 255 });
|
||||
Shader* lastShader = lovrGraphicsGetShader();
|
||||
|
||||
if (lastShader) {
|
||||
lovrRetain(&lastShader->ref);
|
||||
}
|
||||
|
||||
lovrGraphicsSetShader(NULL);
|
||||
lovrGraphicsPlaneFullscreen(state.texture);
|
||||
lovrGraphicsSetShader(lastShader);
|
||||
|
||||
if (lastShader) {
|
||||
lovrRelease(&lastShader->ref);
|
||||
}
|
||||
|
||||
lovrGraphicsSetColor(oldColor);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue