mirror of
				https://github.com/gnif/LookingGlass.git
				synced 2025-11-04 06:31:54 +00:00 
			
		
		
		
	[client] egl: set a default scale for textures without filters
This commit is contained in:
		@@ -25,6 +25,8 @@ make_object(
 | 
			
		||||
	shader/splash_bg.frag
 | 
			
		||||
	shader/splash_logo.vert
 | 
			
		||||
	shader/splash_logo.frag
 | 
			
		||||
	shader/null.vert
 | 
			
		||||
	shader/null.frag
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
make_defines(
 | 
			
		||||
 
 | 
			
		||||
@@ -34,6 +34,9 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
// these headers are auto generated by cmake
 | 
			
		||||
#include "null.vert.h"
 | 
			
		||||
#include "null.frag.h"
 | 
			
		||||
 | 
			
		||||
#include "desktop.vert.h"
 | 
			
		||||
#include "desktop_rgb.frag.h"
 | 
			
		||||
#include "desktop_rgb.def.h"
 | 
			
		||||
@@ -75,6 +78,8 @@ struct EGL_Desktop
 | 
			
		||||
 | 
			
		||||
  bool useDMA;
 | 
			
		||||
  LG_RendererFormat format;
 | 
			
		||||
 | 
			
		||||
  EGL_Shader * nullShader;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// forwards
 | 
			
		||||
@@ -156,6 +161,11 @@ bool egl_desktopInit(EGL * egl, EGL_Desktop ** desktop, EGLDisplay * display,
 | 
			
		||||
  (*desktop)->scaleAlgo = option_get_int("egl", "scale"    );
 | 
			
		||||
  (*desktop)->useDMA    = useDMA;
 | 
			
		||||
 | 
			
		||||
  egl_shaderInit(&(*desktop)->nullShader);
 | 
			
		||||
  egl_shaderCompile((*desktop)->nullShader,
 | 
			
		||||
      b_shader_null_vert, b_shader_null_vert_size,
 | 
			
		||||
      b_shader_null_frag, b_shader_null_frag_size);
 | 
			
		||||
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -190,6 +200,7 @@ void egl_desktopFree(EGL_Desktop ** desktop)
 | 
			
		||||
  egl_shaderFree     (&(*desktop)->shader.shader);
 | 
			
		||||
  egl_desktopRectsFree(&(*desktop)->mesh        );
 | 
			
		||||
  countedBufferRelease(&(*desktop)->matrix      );
 | 
			
		||||
  egl_shaderFree(&(*desktop)->nullShader);
 | 
			
		||||
 | 
			
		||||
  free(*desktop);
 | 
			
		||||
  *desktop = NULL;
 | 
			
		||||
@@ -299,6 +310,8 @@ bool egl_desktop_update(EGL_Desktop * desktop, const FrameBuffer * frame, int dm
 | 
			
		||||
      return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    egl_textureAddShader(desktop->texture, desktop->nullShader, 4.0f);
 | 
			
		||||
 | 
			
		||||
    if (!egl_desktopSetup(desktop, desktop->format))
 | 
			
		||||
      return false;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -88,6 +88,7 @@ bool egl_textureInit(EGL * egl, EGL_Texture ** texture_,
 | 
			
		||||
  glSamplerParameteri(this->sampler, GL_TEXTURE_WRAP_T    , GL_CLAMP_TO_EDGE);
 | 
			
		||||
 | 
			
		||||
  this->textures = ringbuffer_new(8, sizeof(GLuint));
 | 
			
		||||
  this->scale = 1.0f;
 | 
			
		||||
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user