obs-studio/libobs/graphics
jpark37 66259560e0 libobs: Add dormant SRGB format support
GS_RGBA, GS_BGRX, and GS_BGRA now use TYPELESS DXGI formats, so we can
alias them between UNORM and UNORM_SRGB as necessary. GS_RGBA_UNORM,
GS_BGRX_UNORM, and GS_BGRA_UNORM have been added to support straight
UNORM types, which Windows requires for sharing textures from D3D9 and
OpenGL. The D3D path aliases via views, and GL aliases via
GL_EXT_texture_sRGB_decode/GL_FRAMEBUFFER_SRGB.

A significant amount of code has changed in the D3D/GL backends, but the
concepts are simple. On the D3D side, we need separate SRVs and RTVs to
support nonlinear/linear reads and writes. On the GL side, we need to
set the proper GL parameters to emulate the same.

Add gs_enable_framebuffer_srgb/gs_framebuffer_srgb_enabled to set/get
the framebuffer as SRGB or not.

Add gs_linear_srgb_active/gs_set_linear_srgb to instruct sources that
they should render as SRGB. Legacy sources can ignore this setting
without regression.

Update obs_source_draw to use linear SRGB as needed.

Update render_filter_tex to use linear SRGB as needed.

Add gs_effect_set_texture_srgb next to gs_effect_set_texture to set
texture with SRGB view instead.

Add SRGB helpers for vec4 struct.

Create GDI-compatible textures without SRGB support. Doesn't seem to
work with SRGB formats.
2021-01-21 07:42:13 -08:00
..
libnsgif docs/sphinx: Fix various typos 2019-10-14 17:19:38 -07:00
axisang.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
axisang.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
basemath.hpp first commit 2013-09-30 19:37:13 -07:00
bounds.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
bounds.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
device-exports.h libobs: Add dormant SRGB format support 2021-01-21 07:42:13 -08:00
effect-parser.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
effect-parser.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
effect.c libobs: Add dormant SRGB format support 2021-01-21 07:42:13 -08:00
effect.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
graphics-ffmpeg.c libobs: Fix FFmpeg deprecation warnings 2020-07-18 18:47:45 -07:00
graphics-imports.c libobs: Add dormant SRGB format support 2021-01-21 07:42:13 -08:00
graphics-internal.h libobs: Add dormant SRGB format support 2021-01-21 07:42:13 -08:00
graphics-magick.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
graphics.c libobs: Add dormant SRGB format support 2021-01-21 07:42:13 -08:00
graphics.h libobs: Add dormant SRGB format support 2021-01-21 07:42:13 -08:00
half.h libobs: Fix Mac linker error 2020-02-06 12:51:20 -08:00
image-file.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
image-file.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
input.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
math-defs.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
math-extra.c libobs: Return target instead of current in calc_torquef 2020-05-13 22:43:11 -07:00
math-extra.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
matrix3.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
matrix3.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
matrix4.c libobs: Supress clang-tidy warning clang-tidy-cert-flp30-c 2019-07-24 18:26:43 +02:00
matrix4.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
plane.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
plane.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
quat.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
quat.h libobs: fix building modules once installed 2019-11-27 14:00:15 -05:00
shader-parser.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
shader-parser.h libobs: Default sampler sometimes unset for GL 2019-07-25 21:54:23 -07:00
texture-render.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
vec2.c With the permission of my fellow contributors, I'm switching obs-studio back to GPL v2+ to prevent issues between this project and the original OBS project, and for personal reasons to avoid legal ambiguity (not political reasons, I admittedly would prefer GPL v3+) 2013-12-02 22:24:38 -07:00
vec2.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
vec3.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
vec3.h libobs: fix building modules once installed 2019-11-27 14:00:15 -05:00
vec4.c clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
vec4.h libobs: Add dormant SRGB format support 2021-01-21 07:42:13 -08:00