-
- Downloads
Make a number of key optimizations
- Changed glMapBuffer to glMapBufferRange to allow invalidation. Using just glMapBuffer alone was causing some unacceptable stalls. - Changed dynamic buffers from GL_DYNAMIC_WRITE to GL_STREAM_WRITE because I had misunderstood the OpenGL specification - Added _OPENGL and _D3D11 builtin preprocessor macros to effects to allow special processing if needed - Added fmod support to shaders (NOTE: D3D and GL do not function identically with negative numbers when using this. Positive numbers however function identically) - Created a planar conversion shader that converts from packed YUV to planar 420 right on the GPU without any CPU processing. Reduces required GPU download size to approximately 37.5% of its normal rate as well. GPU usage down by 10 entire percentage points despite the extra required pass.
Showing
- .gitignore 2 additions, 0 deletions.gitignore
- build/data/libobs/format_conversion.effect 136 additions, 0 deletionsbuild/data/libobs/format_conversion.effect
- libobs-d3d11/d3d11-exports.h 1 addition, 0 deletionslibobs-d3d11/d3d11-exports.h
- libobs-d3d11/d3d11-subsystem.cpp 5 additions, 0 deletionslibobs-d3d11/d3d11-subsystem.cpp
- libobs-opengl/gl-exports.h 1 addition, 0 deletionslibobs-opengl/gl-exports.h
- libobs-opengl/gl-helpers.c 6 additions, 2 deletionslibobs-opengl/gl-helpers.c
- libobs-opengl/gl-shaderparser.c 3 additions, 1 deletionlibobs-opengl/gl-shaderparser.c
- libobs-opengl/gl-subsystem.c 5 additions, 0 deletionslibobs-opengl/gl-subsystem.c
- libobs-opengl/gl-vertexbuffer.c 1 addition, 1 deletionlibobs-opengl/gl-vertexbuffer.c
- libobs/graphics/effect-parser.c 15 additions, 0 deletionslibobs/graphics/effect-parser.c
- libobs/graphics/graphics-imports.c 1 addition, 0 deletionslibobs/graphics/graphics-imports.c
- libobs/graphics/graphics-internal.h 1 addition, 0 deletionslibobs/graphics/graphics-internal.h
- libobs/graphics/graphics.c 6 additions, 0 deletionslibobs/graphics/graphics.c
- libobs/obs-internal.h 12 additions, 0 deletionslibobs/obs-internal.h
- libobs/obs-video.c 160 additions, 4 deletionslibobs/obs-video.c
- libobs/obs.c 101 additions, 8 deletionslibobs/obs.c
- libobs/obs.h 3 additions, 0 deletionslibobs/obs.h
- libobs/util/cf-lexer.c 1 addition, 1 deletionlibobs/util/cf-lexer.c
- obs/window-basic-main.cpp 7 additions, 6 deletionsobs/window-basic-main.cpp
- plugins/obs-ffmpeg/obs-ffmpeg-output.c 0 additions, 1 deletionplugins/obs-ffmpeg/obs-ffmpeg-output.c
Loading
Please register or sign in to comment