Skip to content

Commit

Permalink
new backend: glx: fix off-by-1 in blur shader generation
Browse files Browse the repository at this point in the history
Signed-off-by: Yuxuan Shui <[email protected]>
  • Loading branch information
yshui committed May 21, 2019
1 parent 86f4d73 commit 45ead40
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
4 changes: 2 additions & 2 deletions man/compton.1.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -187,9 +187,9 @@ WIDTH,HEIGHT,ELE1,ELE2,ELE3,ELE4,ELE5...
+
In other words, the matrix is formatted as a list of comma separated numbers. The first two numbers must be integers, which specify the width and height of the matrix. They must be odd numbers. Then, the following 'width * height - 1' numbers specifies the numbers in the matrix, row by row, excluding the center element.
+
The elements are finite floating point numbers. The decimal pointer has to be '.' (a period), and scientific notation is not supported.
The elements are finite floating point numbers. The decimal pointer has to be '.' (a period), scientific notation is not supported.
+
The element in the center will either be 1.0 or changing based on opacity, depending on whether you have `--blur-background-fixed`. Yet the automatic adjustment of blur factor may not work well with a custom blur kernel.
The element in the center will either be 1.0 or varying based on opacity, depending on whether you have `--blur-background-fixed`. Yet the automatic adjustment of blur factor may not work well with a custom blur kernel.
+
A 7x7 Gaussian blur kernel (sigma = 0.84089642) looks like:
+
Expand Down
2 changes: 1 addition & 1 deletion src/backend/gl/gl_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -716,7 +716,7 @@ static bool gl_init_blur(struct gl_data *gd, conv *const *const kernels) {
auto kern = kernels[i];
// Build shader
int width = kern->w, height = kern->h;
int nele = width * height - 1;
int nele = width * height;
size_t body_len = (strlen(shader_add) + 42) * (uint)nele;
char *shader_body = ccalloc(body_len, char);
char *pc = shader_body;
Expand Down

0 comments on commit 45ead40

Please sign in to comment.