1
0
mirror of https://github.com/mpv-player/mpv synced 2025-02-20 14:56:55 +00:00
mpv/video/out/opengl
Niklas Haas ad0d6caac7 vo_opengl: use textureGatherOffset for polar filters
This is more efficient on my machine (nvidia), but only when applied to
groups of exactly 4 texels. So we switch to the more efficient
textureGather for groups of 4. Some notes:

- textureGatherOffset seems to be faster than textureGather by a
  non-negligible amount, but for some reason, textureOffset is still
  slower than a straight-up texture
- textureGather* requires GLSL 400; and at least on nvidia, this
  requires actually allocating a GL 4.0 context.
- the code in opengl/common.c that clamped the GLSL version to 330 is
  deprecated, because the old user shader style has been removed
  completely in the meantime
- To combat the growing complexity of the polar sampling code, we drop
  the antiringing functionality from EWA shaders completely, since it
  never really worked well for EWA to begin with. (Horrific artifacting)
2017-07-05 11:21:58 +02:00
..
angle_dynamic.c angle_dynamic: silence warnings during compilation 2016-11-25 09:49:49 +01:00
angle_dynamic.h vo_opengl: angle: rewrite with custom swap chain 2017-02-07 22:45:07 +11:00
common.c vo_opengl: use textureGatherOffset for polar filters 2017-07-05 11:21:58 +02:00
common.h vo_opengl: drop TLS usage 2017-05-11 17:47:33 +02:00
context_angle.c context_angle: fix fallback to D3D9 device 2017-05-16 22:59:15 +10:00
context_cocoa.c cocoa: add option to force dedicated GPU 2017-02-27 23:53:53 +01:00
context_drm_egl.c vo_opengl: context_drm_egl: remove unnecessary include 2017-04-26 17:43:23 +02:00
context_dxinterop.c context_dxinterop: lock rendertarget after present when swapping buffers 2017-06-18 20:54:44 +02:00
context_mali_fbdev.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
context_rpi.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
context_vdpau.c vo_opengl: add our own copy of OpenGL headers 2017-04-07 15:09:27 +02:00
context_w32.c vo_opengl: add our own copy of OpenGL headers 2017-04-07 15:09:27 +02:00
context_wayland.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
context_x11.c vo_opengl: add our own copy of OpenGL headers 2017-04-07 15:09:27 +02:00
context_x11egl.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
context.c vo_opengl: use textureGatherOffset for polar filters 2017-07-05 11:21:58 +02:00
context.h vo_opengl: add a backend start_frame callback for context_vdpau 2017-03-20 13:37:47 +01:00
cuda_dynamic.c vo_opengl: hwdec_cuda: Prefix cuda symbols to avoid collisions 2016-11-24 20:15:57 +01:00
cuda_dynamic.h vo_opengl: hwdec_cuda: Support separate decode and display devices 2017-06-03 16:41:03 +02:00
egl_helpers.c vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
egl_helpers.h vo_opengl: add a generic EGL function loader function 2017-04-06 14:50:19 +02:00
formats.c video: get rid of swapped packed YUV 2017-06-30 18:01:29 +02:00
formats.h vo_opengl: remove mp_imgfmt_desc and IMGFLAG_ usage 2017-06-30 17:56:42 +02:00
gl_headers.h vo_opengl: minor cosmetics 2017-04-14 17:35:27 +02:00
hwdec_cuda.c vo_opengl: hwdec_cuda: Support separate decode and display devices 2017-06-03 16:41:03 +02:00
hwdec_d3d11egl.c d3d: add support for new libavcodec hwaccel API 2017-06-08 21:51:25 +02:00
hwdec_d3d11eglrgb.c d3d: UWP support for D3D11VA 2017-06-30 18:57:37 +02:00
hwdec_dxva2egl.c d3d: add support for new libavcodec hwaccel API 2017-06-08 21:51:25 +02:00
hwdec_dxva2gldx.c d3d: add support for new libavcodec hwaccel API 2017-06-08 21:51:25 +02:00
hwdec_ios.m vo_opengl: restructure format setup 2017-06-30 17:07:55 +02:00
hwdec_osx.c vo_opengl: restructure format setup 2017-06-30 17:07:55 +02:00
hwdec_rpi.c vo_opengl: drop TLS usage 2017-05-11 17:47:33 +02:00
hwdec_vaegl.c vo_opengl: restructure format setup 2017-06-30 17:07:55 +02:00
hwdec_vaglx.c vaapi: remove central lock around vaapi API calls 2017-01-28 18:27:30 +01:00
hwdec_vdpau.c vdpau: use libavutil for surface allocation during decoding 2017-01-17 15:48:56 +01:00
hwdec.c d3d: make DXVA2 support optional 2017-06-30 18:57:37 +02:00
hwdec.h vo_opengl: restructure format setup 2017-06-30 17:07:55 +02:00
lcms.c options: add M_OPT_FILE to some more file options 2017-03-06 15:41:06 +01:00
lcms.h vo_opengl: simplify option handling 2016-09-06 11:11:36 +02:00
osd.c vo_opengl: remove caching GL_MAX_TEXTURE_SIZE value 2016-07-03 17:33:59 +02:00
osd.h vo_opengl, osd: allow osc.lua to react faster on resizes 2016-03-21 22:23:41 +01:00
user_shaders.c vo_opengl: refactor vo performance subsystem 2017-07-01 00:58:27 +02:00
user_shaders.h vo_opengl: refactor vo performance subsystem 2017-07-01 00:58:27 +02:00
utils.c vo_opengl: refactor vo performance subsystem 2017-07-01 00:58:27 +02:00
utils.h vo_opengl: refactor vo performance subsystem 2017-07-01 00:58:27 +02:00
video_shaders.c vo_opengl: use textureGatherOffset for polar filters 2017-07-05 11:21:58 +02:00
video_shaders.h vo_opengl: use textureGatherOffset for polar filters 2017-07-05 11:21:58 +02:00
video.c vo_opengl: use textureGatherOffset for polar filters 2017-07-05 11:21:58 +02:00
video.h filter_kernels: add radius cutoff functionality 2017-07-03 11:51:37 +02:00