|
|
@ -367,7 +367,8 @@ static void output_fullscreen_surface_render(struct wlr_output *output,
|
|
|
|
struct wlr_renderer *renderer = wlr_backend_get_renderer(output->backend);
|
|
|
|
struct wlr_renderer *renderer = wlr_backend_get_renderer(output->backend);
|
|
|
|
assert(renderer);
|
|
|
|
assert(renderer);
|
|
|
|
|
|
|
|
|
|
|
|
if (!wlr_surface_has_buffer(surface)) {
|
|
|
|
struct wlr_texture *texture = wlr_surface_get_texture(surface);
|
|
|
|
|
|
|
|
if (texture == NULL) {
|
|
|
|
wlr_renderer_clear(renderer, (float[]){0, 0, 0, 1});
|
|
|
|
wlr_renderer_clear(renderer, (float[]){0, 0, 0, 1});
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -386,8 +387,7 @@ static void output_fullscreen_surface_render(struct wlr_output *output,
|
|
|
|
for (int i = 0; i < nrects; ++i) {
|
|
|
|
for (int i = 0; i < nrects; ++i) {
|
|
|
|
output_scissor(output, &rects[i]);
|
|
|
|
output_scissor(output, &rects[i]);
|
|
|
|
wlr_renderer_clear(renderer, (float[]){0, 0, 0, 1});
|
|
|
|
wlr_renderer_clear(renderer, (float[]){0, 0, 0, 1});
|
|
|
|
wlr_render_texture_with_matrix(surface->renderer, surface->texture,
|
|
|
|
wlr_render_texture_with_matrix(surface->renderer, texture, matrix, 1.0f);
|
|
|
|
matrix, 1.0f);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
wlr_renderer_scissor(renderer, NULL);
|
|
|
|
wlr_renderer_scissor(renderer, NULL);
|
|
|
|
|
|
|
|
|
|
|
@ -418,7 +418,7 @@ static void output_cursor_render(struct wlr_output_cursor *cursor,
|
|
|
|
|
|
|
|
|
|
|
|
struct wlr_texture *texture = cursor->texture;
|
|
|
|
struct wlr_texture *texture = cursor->texture;
|
|
|
|
if (cursor->surface != NULL) {
|
|
|
|
if (cursor->surface != NULL) {
|
|
|
|
texture = cursor->surface->texture;
|
|
|
|
texture = wlr_surface_get_texture(cursor->surface);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (texture == NULL) {
|
|
|
|
if (texture == NULL) {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
@ -700,7 +700,7 @@ static bool output_cursor_attempt_hardware(struct wlr_output_cursor *cursor) {
|
|
|
|
enum wl_output_transform transform = WL_OUTPUT_TRANSFORM_NORMAL;
|
|
|
|
enum wl_output_transform transform = WL_OUTPUT_TRANSFORM_NORMAL;
|
|
|
|
struct wlr_texture *texture = cursor->texture;
|
|
|
|
struct wlr_texture *texture = cursor->texture;
|
|
|
|
if (cursor->surface != NULL) {
|
|
|
|
if (cursor->surface != NULL) {
|
|
|
|
texture = cursor->surface->texture;
|
|
|
|
texture = wlr_surface_get_texture(cursor->surface);
|
|
|
|
scale = cursor->surface->current->scale;
|
|
|
|
scale = cursor->surface->current->scale;
|
|
|
|
transform = cursor->surface->current->transform;
|
|
|
|
transform = cursor->surface->current->transform;
|
|
|
|
}
|
|
|
|
}
|
|
|
|