0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

170 Commits

Author SHA1 Message Date
Zachary Lund
fe1adfceec Broke Windows, here's a fix. 2014-02-06 01:29:07 -06:00
Zachary Lund
5c3b56807a Fixed gl-subsystem.c to reflect changes to GL loader API. 2014-02-06 00:25:15 -06:00
Zachary Lund
019d8d83ee Messed with GL loader some more.
I've branched well off of upstream glloadgen since they don't appear to be very active in between GL versions.

1) Changed how the address finder functions are set to be more sane.
2) Added *all* possible extensions. For the lulz.
3) Fixed a retarded bug in IsVersionGEQ.
4) Slapped myself for not seeing IsVersionGEQ bug earlier. Most important change.
2014-02-06 00:20:03 -06:00
jp9000
021d9522ea Eliminate more trailing whitespace from gl-x11.c 2014-02-05 21:33:55 -07:00
jp9000
8219a64958 Remove trailing whitespace from gl-x11.c (OCD) 2014-02-05 21:31:03 -07:00
jp9000
ab4ab95790 Implement output scaling/conversion/downloading
- Implement texture scaling/conversion/downloading for the main view so
  we can finally start getting data to output.

  Also, redesign how it works a bit, it will now properly wait one full
  frame for each step in the process:  rendering the main texture,
  scaling the main texture to an output texture, staging/downloading the
  ouput texture, and then outputting that staged data.  This way, the
  GPU will have more than enough time to fully complete each step.

- Fix a bug with OpenGL plugin's texture staging function.  Was using
  glBindBuffer instead of what should have been used:  glBindTexture.

- Change the naming scheme of the variables in default.effect.  It's now
  named with the idea of just "color matrix" in mind instead of "yuv
  matrix", and instead of DrawRGBToYUV, it's now just DrawMatrix.
2014-02-05 20:36:21 -07:00
BtbN
e53825f1c3 Remove autotools files and update INSTALL file 2014-02-02 22:45:05 +01:00
Zachary Lund
cc44c93fbf Fixed missed boolean check 2014-01-26 01:53:59 -06:00
Zachary Lund
488c90b3d2 Removed mercurial leftovers 2014-01-26 00:53:12 -06:00
Zachary Lund
666f0be14f Merge branch 'alt-ogl-loader' of https://github.com/jp9000/obs-studio into alt-ogl-loader 2014-01-25 23:59:26 -06:00
Zachary Lund
ae17c457a7 Regenerated files 2014-01-25 23:58:43 -06:00
Zachary Lund
f4379d7889 Changed constness on passed argument, updated VC++ project files 2014-01-25 23:23:26 -06:00
Zachary Lund
1c48834cb5 Fixed signedness issue on GLX 2014-01-25 22:27:02 -06:00
Zachary Lund
469f217e6b Removed tools used to generate the GL headers/implementations as we never use them to build 2014-01-25 22:26:55 -06:00
Zachary Lund
001f0b10a4 Fixed Windows goofy macros 2014-01-25 22:26:55 -06:00
Zachary Lund
f33e693a6e Fixed cmake for Windows 2014-01-25 22:26:55 -06:00
Zachary Lund
74ab96a3ad I removed GLEW, added glLoadGen (renamed to GL here), and added implementations for all platforms. Hopefully this goes better than GLAD did. 2014-01-25 22:26:43 -06:00
Zachary Lund
e3299d5662 Added rudimentary support for Qt on Linux 2014-01-24 21:55:10 -06:00
BtbN
45ec80fb7d Full rewrite of all CMakeLists
CMake now works on all platforms
2014-01-24 18:56:32 +01:00
BtbN
8fa309c96e Clean old cmake files 2014-01-24 01:46:36 +01:00
Zachary Lund
bb24591d48 Add copyright and name to files it applies to. 2014-01-11 18:09:48 -06:00
Zachary Lund
78aa456a7b Added comments on why some code is disabled 2014-01-09 21:04:52 -06:00
Zachary Lund
d283f24cbb A few changes concerning wxGTK.
For one, I added a new member gs_window for future use.
The member is "display" which represents our connection to X11.
Ideally, we should use this specific connection to deal with our Window.
For now, it's disabled. Read comment for more information.

Secondly, wxGTK apparently doesn't map our window in some cases.
This causes the window ID passed to be bad and will stop (or segfault)
our program. This might be related to the first commit above.

For now, all this commit does is realize the window manually.
2014-01-09 21:04:52 -06:00
Jim
0b7497d6df Merge pull request #23 from Ceropean/master
Use XGetErrorText() instead of our own table
2014-01-07 20:18:32 -08:00
Zachary Lund
d3dab077cb Another attempt to fix ARB_debug_output, hopefully the last one. 2014-01-07 18:24:04 -06:00
Ján Mlynek
ecadb4faae Use XGetErrorText() instead of our own table
This fixes segfaults when the error code is not in the table
2014-01-07 20:35:19 +01:00
jp9000
bf371437b3 Fixed debug extension check
- Check the actual debug extension instead of checking GL 4.0 support;
   it appears that despite having GL 4.0 support, AMD does not implement
   the standard debug extensions even when the *_CONTEXT_DEBUG_BIT_ARB
   flag is set on the context.

 - Also, fixed a place where spaces where used for indents instead of a
   tab.
2014-01-06 19:02:19 -07:00
jp9000
156009cc0c Fixed debug GL functions on windows (amend)
- Removed the dependency on windows.h for windows.  I feel it's an
   unnecessarily large dependency to have to add to all source files
   when the only thing that's needed to make the windows version compile
   the debug functions is just the __stdcall call convention keyword.

   On top of increasing compile time due to the large number of headers
   it includes from all the windows API headers, it also adds a lot of
   potential name conflicts, as I was getting a number of name conflicts
   for lots of names like near/far, which were used in old legacy 16bit
   windows code.
2014-01-06 17:36:19 -07:00
Zachary Lund
8073b0ecd4 Fixed APIENTRY quirk with GLEW 2014-01-06 17:51:45 -06:00
Zachary Lund
840c1cfd65 I removed GL-specific extension checking to a platform independent file.
I also fixed autoconf to find wxWidgets 2.9 without user intervention
Removed unused code and added more organization
2014-01-05 23:50:32 -06:00
Zachary Lund
4aef1d00d1 Change _DEBUG coverage a bit 2014-01-05 19:55:19 -06:00
Zachary Lund
fee0d9a8f3 Minor style fixup 2014-01-04 01:37:00 -06:00
Zachary Lund
8df5293be1 Added GLX version check and assures context is set to none on failure.
Fixed the location glewExperimental was being set to just before glewInit() (where it should be).
2014-01-04 01:29:37 -06:00
Zachary Lund
ffd80449d3 Added gl_update (does nothing for now).
Fix previous commit..
2014-01-04 00:50:40 -06:00
Zachary Lund
3dc2024c8f Remove enable statements. This should be done in platform-independent code using GLEW. 2014-01-04 00:42:23 -06:00
Zachary Lund
94f88c82cf Added OpenGL debug callback support and context changes.
1. We no longer hardcode a 3.2 profile. It chooses the latest profile that fits out description.
2. I added three tables and macros to help with the offsets compared to the variables to help reading. Read comments for more info.
3. I added glewExperimental being set. What a dumb "feature". It doesn't help anything...
2014-01-03 23:14:35 -06:00
Zachary Lund
9b882768be Fixed memory leak by calling gl_windowinfo_destroy in platform destruction. 2014-01-02 18:35:10 -06:00
Zachary Lund
80b8176e29 GLX implementation and *nix-specific file handling implementation
I added gl-x11 which allows compatibility with X11 (Xlib-based) and GLX.
I also added various functions to handle file finding based on FHS.
Various changes to autotools to both install files correctly and to configure correctly.
2014-01-02 18:20:58 -06:00
Palana
b70df7607c synchronize opengl context access on osx between threads 2013-12-31 18:46:19 +01:00
jp9000
e2a1186269 one of the problems of doing changes for Objective-C on windows is that you can't actually compile your code and test it before commiting, leading to foolish little errors like 'you forgot to put a semicolen at the end of that call' 2013-12-31 03:13:56 -07:00
jp9000
141b22e76e not sure what was on my mind there but I totally got the variable names wrong in that last commit (for NSOpenGLContext update) 2013-12-31 03:12:31 -07:00
jp9000
969a71d716 call NSOpenGLContext 'update' on opengl context on macos when resizing 2013-12-31 03:09:28 -07:00
Palana
683585938c add infrastructure for app bundle target and unmark as advanced 2013-12-30 20:52:44 +01:00
Palana
c536d70379 add support for static system GLEW to cmake 2013-12-30 05:45:19 +01:00
Zachary Lund
5f5404f8cb Fixes issues with autoconf
In particular, it removes any deprecated functionality
wxWidgets only documents their deprecated m4 macros and gives a poor example
Also to note in regard to wxWidgets, I removed any unneeded libraries from the linker line.

Any warning messages provided by autoconf has been supressed in the most appropriate manner possible.
2013-12-27 16:41:01 -06:00
Palana
d9e1362cce add pixel format check for iosurfaces 2013-12-24 17:07:58 +01:00
Palana
74aa1c466b add osx iosurface opengl integration 2013-12-23 16:35:14 +01:00
Palana
f23bf6b83c restore pre-c99-compatibility 2013-12-22 04:51:11 +01:00
Palana
1dde992990 remove mipmap texture filter from min_filter for rectangle textures 2013-12-22 04:47:18 +01:00
jp9000
0781670ba2 add handling of GL_TEXTURE_RECTANGLE target, and add automatic handling if using it as a sprite 2013-12-20 12:36:38 -07:00
jp9000
f41bb4b7e9 add support for texture_rect texture type in shaders, add new form, clear up a few things in the API 2013-12-20 11:58:09 -07:00
jp9000
aead95f5e3 converted project to vs2013, removed 2010 support (ugh) 2013-12-14 16:01:30 -07:00
jp9000
8dea4d60ef add comment explaining the purpose of that line (because I noticed it was rather vague) 2013-12-13 10:32:05 -07:00
jp9000
61c6defd77 almost lured myself into another null pointer trap, fixed 2013-12-13 10:28:05 -07:00
jp9000
31dd23cb0d fixed potential null pointer bug 2013-12-13 10:24:54 -07:00
jp9000
8298fa4dc7 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
Palana
e230b0e984 updated include paths (CMake+osxtest) and function prototype (osxtest)
fixes compilation with changes from e5c99175c5
2013-11-29 20:58:29 +01:00
jp9000
e5c99175c5 fixed some build issues on non-windows systems 2013-11-26 23:07:27 -07:00
jp9000
409b011a8e cleaned up main internal data structure design, changed to reference counting for sources to ensure safe destruction of source objects from all parts of the system, added some service-related stuff for testing 2013-11-20 15:00:16 -07:00
jp9000
5e33707f6a ensure 80-column max formatting in gl-subsystem.c 2013-11-15 07:10:21 -07:00
jp9000
10e917efee unbind VAO if NULL buffer specified 2013-11-15 07:07:03 -07:00
Palana
41bef32962 removed global VAO from gl-cocoa 2013-11-15 15:03:35 +01:00
jp9000
e778a4c04f added OSX files to automake scripts 2013-11-15 06:40:03 -07:00
jp9000
72a64b3d41 added VAOs to vertex buffers (might need some future tweaking to check whether buffers are already assigned to specific attributes) 2013-11-15 06:34:05 -07:00
jp9000
041f48b566 make code gl-cocoa.m 80 columns for consistency (I'm probably just being OCD, don't mind me, hopefully didn't break anything) 2013-11-14 10:48:48 -07:00
Palana
ec411fe046 added cmake build files 2013-11-14 18:36:46 +01:00
Palana
d7a04aea8c added osx cocoa support files 2013-11-14 18:31:18 +01:00
Palana
26397c7782 allow non-static glew include path 2013-11-14 18:29:37 +01:00
Palana
8880a9e811 check for link status instead of validate status 2013-11-14 18:29:37 +01:00
Palana
ebc78eee9d do not unbind vertex array (GL 3+) 2013-11-14 17:51:38 +01:00
jp9000
f5e41f441e added initial main program and directshow files, finally have a UI functioning 2013-11-07 16:45:03 -07:00
jp9000
37c7db5dbe fixed some bugs and fixed a variable that wasn't declared at the top 2013-11-02 14:44:40 -07:00
Palana
db9f8cc269 restrict max_anisotropy to 1 ≤ max_anisotropy ≤ max_anisotropy_max 2013-11-02 22:24:57 +01:00
jp9000
0b96e65498 fix a function variable name that was shadowing a parameter name 2013-11-02 12:53:25 -07:00
jp9000
8847d11e8e adjust file locations to be more portable 2013-11-01 14:33:00 -07:00
jp9000
676a0bd67d update build system to autotools (finally) 2013-10-29 23:21:40 -07:00
jp9000
ab08c2c3f2 fixed a minor bug in the gl shader parser 2013-10-29 06:01:19 -07:00
jp9000
a43e291577 fill in the texture_setimage function, fill in a few other functions, and change certain names to be a little more consistent 2013-10-25 10:25:28 -07:00
jp9000
bb329b9278 avoid using 'default' for enum switches 2013-10-24 01:29:06 -07:00
jp9000
18834c6a45 some static analysis cleanup 2013-10-17 17:21:42 -07:00
jp9000
dfa2dc6eab fix up the rest of the GL code, add glew to project, add makefiles for opengl, fix makefiles so that it can be built with gcc, update project files to automatically output to the build directory 2013-10-16 23:31:18 -07:00
jp9000
9570f0b8d7 change names, fix some bugs, minor GL/D3D fixes, update tests, fix effect files, output a little more debug information 2013-10-14 12:37:52 -07:00
Peter SZTANOJEV
0301b24ace modernize header guards to #pragma once 2013-10-14 13:21:15 +02:00
jp9000
27a7873066 fix the can_render function and add in view/projection matrix code 2013-10-12 23:53:30 -07:00
jp9000
9577ddcf9b fill in the rest of the GL functions. finally 2013-10-12 20:18:05 -07:00
jp9000
e591256922 add FBOs and render target loading 2013-10-12 16:28:10 -07:00
jp9000
83ddb920a1 finish up shader/sampler/texture/buffer loading/unloading/association 2013-10-12 12:35:38 -07:00
jp9000
aeea0eadc9 added shader attributes and added vertex buffer loading 2013-10-11 20:14:26 -07:00
jp9000
3951babc93 add GL index buffers and a few tweaks to the helper functions 2013-10-11 13:00:39 -07:00
jp9000
0a4592a414 finish up GL vertex buffer code 2013-10-11 11:41:36 -07:00
jp9000
1b3b177583 add initial GL vertex buffer code 2013-10-10 23:03:42 -07:00
jp9000
e804a9043d fix GL pixel pack and unpack stuff 2013-10-10 18:50:09 -07:00
jp9000
85e2fc6b07 add stage surfaces and texture copying 2013-10-10 17:39:56 -07:00
jp9000
c1939de49b added z-stencil buffers to GL and made a GS_MAX_TEXTURES macro 2013-10-10 12:37:03 -07:00
jp9000
806bf557e5 removed a fairly pointless constant for the time being 2013-10-10 07:46:27 -07:00
jp9000
d67354f53e remove unnecessary projects from glew 2013-10-09 21:37:44 -07:00
jp9000
e159fc4f06 fill in shader parameter functions 2013-10-09 20:34:23 -07:00
jp9000
fda2ee1147 added initial GL shader code 2013-10-09 15:48:16 -07:00
jp9000
c301c9e1ef whoops, added mul and saturate GLSL conversion 2013-10-08 15:18:33 -07:00
jp9000
34357f00fb finish up GLSL conversion stuff and make some minor tweaks to shader parser 2013-10-08 13:36:15 -07:00