1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00
Commit Graph

528 Commits

Author SHA1 Message Date
Logan McNaughton
a7ecc8534b Fix function loading on Raspberry Pi 2017-02-07 08:24:48 -07:00
Sergey Lipskiy
8004dc200d Fix errors caused by commit ca7da5418e : Disable RectBuffer optimization for bufferStorage. 2017-02-07 16:58:50 +07:00
Sergey Lipskiy
683e22c3b3 Correct shaders generation when hw light is enabled. 2017-02-07 11:50:00 +07:00
Sergey Lipskiy
6c9211a38f Simplify passing numlights vertex attribute in UnbufferedDrawer. 2017-02-07 11:12:04 +07:00
Sergey Lipskiy
0732b207a6 Code cleanup: remove commented code in BufferedDrawer 2017-02-07 10:55:35 +07:00
Sergey Lipskiy
ca7da5418e Disable RectBuffer optimization for bufferStorage.
Remove some code duplication.
2017-02-07 10:33:12 +07:00
Sergey Lipskiy
7e360c613d Correct buffer target in BufferedDrawer::_updateBuffer 2017-02-07 10:09:35 +07:00
Sergey Lipskiy
3f855ffb63 Replace internal color format parameters on formats supported by GLES2. 2017-02-07 09:49:09 +07:00
Francisco Zurita
0c6564f3c1 Improve check for "ShaderProgramBinary" 2017-02-07 09:43:37 +07:00
Logan McNaughton
5d51242252 A few GL fixes 2017-02-06 11:29:23 +07:00
Sergey Lipskiy
403c60cfea Convert texture format returned by GLideNHQ for GLES2. 2017-02-05 20:26:40 +07:00
Francisco Zurita
bca968fdd3 Fix noise texture in GLES 2.0 2017-02-05 20:07:46 +07:00
Francisco Zurita
341f9848bb Fix monochrome shaders for GLES2 2017-02-05 20:07:17 +07:00
Sergey Lipskiy
15f90a0699 Use GL_RGBA instead of GL_RGBA8 for GLES2. 2017-02-05 20:07:15 +07:00
Sergey Lipskiy
e232ae9e09 Rename InternalColorFormatParam RGBA to InternalColorFormatParam RGBA8. 2017-02-05 20:07:13 +07:00
Francisco Zurita
874b410ee1 Don't use macro to determine if GL_NUM_EXTENSIONS exists 2017-02-05 20:07:02 +07:00
Francisco Zurita
3d95dbdb03 Fix shader compilation error in GLES 2 2017-02-05 19:29:24 +07:00
Francisco Zurita
0898d8d0c4 Check for pixel read buffer implementation before trying to make one 2017-02-05 19:29:01 +07:00
Sergey Lipskiy
c1bba2afe6 Request core GL profile. 2017-02-05 18:41:49 +07:00
Sergey Lipskiy
a625225323 VBO implementation.
Thanks to Logan McNaughton for help.
2017-02-05 18:41:06 +07:00
Logan McNaughton
dddb3ae1f7 Fix error PBO code 2017-02-04 21:24:03 -07:00
Logan McNaughton
d5052c0c70 Improve PBO writer performance 2017-02-05 10:19:01 +07:00
Sergey Lipskiy
f832894965 Change format for zLUT and palette image textures.
It is now the same as for GLES 3.
2017-02-04 22:44:41 +07:00
Sergey Lipskiy
355c261dc7 Correct buffer target parameters for GLES2 2017-02-03 17:37:54 +07:00
Sergey Lipskiy
c07231a825 Correct check for image textures support in TextureManipulationObjectFactory classes. 2017-02-03 17:29:12 +07:00
Logan McNaughton
4456d43daf Remove need for USE_DEPTH_RENDERBUFFER 2017-02-03 10:27:37 +07:00
Francisco Zurita
72da07ac17 Fix check for support of fragment depth write. 2017-02-02 01:30:59 -05:00
Logan McNaughton
2075842d31 Improve extension checks 2017-02-01 07:45:25 -08:00
Logan McNaughton
60cd646bd0 A few cleanups and support for ARB_texture_storage 2017-02-01 07:35:39 -08:00
Logan McNaughton
4a7c1ebf04 Add support for EXT_buffer_storage 2017-02-01 07:19:23 -08:00
Sergey Lipskiy
c2b3fc13eb Disagle hw lighting for Rects. 2017-02-01 14:51:22 +07:00
Sergey Lipskiy
dbb827efc1 Do not call glUseProgram(0) directly in DisplayWindowMupen64plus::_swapBuffers() 2017-02-01 14:26:46 +07:00
Logan McNaughton
302f20fa3a Fix EGL build on non-Android devices 2017-01-31 21:07:45 -07:00
Logan McNaughton
3207b91259 Fix Image Textures on devices < GL4.2 2017-01-31 21:06:10 -07:00
Logan McNaughton
c074a6cdec Fix a few GL errors
Check for ARB_buffer_storage instead of the function pointers

Image Textures also require ARB_compute_shader, which provides glMemoryBarrier
2017-01-31 21:06:10 -07:00
Logan McNaughton
9cf7d6e777 Rename function pointers 2017-01-31 21:05:58 -07:00
Sergey Lipskiy
e5089bcf7d Do not include opengl_ColorBufferReaderWithEGLImage.h 2017-01-30 17:28:36 +07:00
Francisco Zurita
a480f28fc2 Don't use glBindImageTexture when glTexStorage2D is not supported
glBindImageTexture requires an immutable texture object
2017-01-30 11:00:57 +07:00
Sergey Lipskiy
3b1dd92118 Correct TexrectCopyShader for GL versions that are not GLES 2.0 2017-01-30 11:00:42 +07:00
Francisco Zurita
9b9910dfc1 Fix return value in ColorBufferReaderWithBufferStorage::readPixels
and ColorBufferReaderWithPixelBuffer::readPixels
2017-01-29 22:10:06 +07:00
Francisco Zurita
b5466c109d Correct issues in ColorBufferReaderWithEGLImage.
Disable its use for now.
2017-01-29 22:10:04 +07:00
Francisco Zurita
38bba9f804 Add missing include. 2017-01-29 22:10:01 +07:00
Francisco Zurita
48cd94ec46 Add special version of to_string for Android. 2017-01-29 22:09:49 +07:00
Francisco Zurita
85fc5ec31f Fix GLFunctions for EGL. 2017-01-29 21:48:49 +07:00
Sergey Lipskiy
184ff8f017 Correct ColorBufferToRDRAM::_prepareCopy
Code cleanup.
2017-01-28 21:44:04 +07:00
Sergey Lipskiy
32ba7bd182 Fix CachedBind 2017-01-28 21:06:03 +07:00
Sergey Lipskiy
df4a81bfea Add special Parameter classes to make parametrs usage more safe. 2017-01-28 16:52:09 +07:00
Sergey Lipskiy
c8bf408b57 Reset CachedBindFramebuffer when a frame buffer deleted. 2017-01-28 11:02:24 +07:00
Sergey Lipskiy
05da51d7a8 Add EGL section to GLFunctions. 2017-01-28 10:11:51 +07:00
Sergey Lipskiy
1a87d75efe Correct internal texture formats. 2017-01-27 22:39:34 +07:00
Sergey Lipskiy
1d2aa4b96e Use std::to_string for GL version numbers in shaders headers.
std::stringstream can't take number as input on Linux for unknown reason.

This is GLideN64 problem, plain test application from http://www.cplusplus.com
works correct.
2017-01-27 22:39:25 +07:00
Sergey Lipskiy
a249e2e3cc Delete vertex shaders in CombinerProgramBuilder destructor. 2017-01-26 22:14:45 +07:00
Sergey Lipskiy
3538536aa5 Minor code refactoring in _compileCombiner 2017-01-26 22:07:28 +07:00
Sergey Lipskiy
15f54acd5e Reset bind texture when texture deleted. 2017-01-26 21:38:34 +07:00
Sergey Lipskiy
cbf504fb40 Minor code cleanup in Utils::isExtensionSupported 2017-01-26 19:55:13 +07:00
Sergey Lipskiy
2196bf644b Merge CachedActiveTexture and CachedBindTexture into one function. 2017-01-26 19:54:59 +07:00
Sergey Lipskiy
6cc60c24ae Enable cached GL functions 2017-01-26 19:54:54 +07:00
Sergey Lipskiy
acec086c38 Add ColorBufferReaderWithEGLImage for GLES2 2017-01-26 19:54:44 +07:00
Sergey Lipskiy
ff0d0d59b4 ColorBufferReader: move m_pixelData to base class. Code cleanup. 2017-01-26 19:54:39 +07:00
Sergey Lipskiy
7c022aeb35 Disable scissor before glBlitFramebuffer. 2017-01-25 21:39:15 +07:00
Sergey Lipskiy
7560c794d9 Fix TODO issues in opengl_TextureManipulationObjectFactory.cpp 2017-01-25 21:01:43 +07:00
Sergey Lipskiy
6b5f51784b Fix TODO issue in glsl_CombinerProgramUniformFactory.cpp 2017-01-25 21:01:37 +07:00
Sergey Lipskiy
c9f98d175c Fix some TODO issues in FrameBuffer.cpp 2017-01-25 21:01:32 +07:00
Sergey Lipskiy
602e1dd859 Correct cmake project file. Fix compilation on Linux. 2017-01-25 21:01:21 +07:00
Sergey Lipskiy
5445dcb16f Add ColorBufferReaderWithBufferStorage 2017-01-25 20:58:11 +07:00
Sergey Lipskiy
5ba4588752 Rewrite ColorBufferToRDRAM 2017-01-25 20:58:05 +07:00
Sergey Lipskiy
aa2131e8f6 Add color ColorBufferReader class 2017-01-25 20:57:59 +07:00
Sergey Lipskiy
57d600fc86 Remove OpenGL from DepthBufferToRDRAM 2017-01-23 21:20:36 +07:00
Sergey Lipskiy
80ed169e24 Remove use of OpenGL.h 2017-01-22 20:43:05 +07:00
Sergey Lipskiy
4a97083d77 Raplace GL types in TextureLoadParameters 2017-01-22 18:44:42 +07:00
Sergey Lipskiy
663f696d8f Remove direct calls of glBindTexture and GL_UNPACK_ALIGNMENT related functions. 2017-01-22 18:10:52 +07:00
Sergey Lipskiy
40f051deab Fix typo ge-get 2017-01-22 17:40:07 +07:00
Sergey Lipskiy
4e459c7645 Change type of CachedTexture name to graphics::ObjectHandle 2017-01-21 19:48:02 +07:00
Sergey Lipskiy
ed7cc2c1f5 Correct DepthImage related shaders. 2017-01-21 19:04:29 +07:00
Sergey Lipskiy
f64136ff3b Remove OpenGL from DepthBuffer. 2017-01-21 18:55:14 +07:00
Sergey Lipskiy
84b96aabd1 Add Context::bindImageTexture 2017-01-21 18:44:56 +07:00
Sergey Lipskiy
f147927af9 Remove OpenGL use from FrameBuffer 2017-01-21 16:35:00 +07:00
Sergey Lipskiy
e8145768df Add ObjectHandle::isNotNull() 2017-01-21 16:34:54 +07:00
Sergey Lipskiy
e34ebdc543 Remove obsolete constants for texture indices.
Use values from Parameters.h
2017-01-18 22:44:35 +07:00
Sergey Lipskiy
0887dda647 Rewrite post-processor gamma correction and orientation correction.
TODO: Bloom.
2017-01-18 22:39:10 +07:00
Sergey Lipskiy
71b230cbfd PostProcessor Shaders wip 2017-01-18 20:52:59 +07:00
Sergey Lipskiy
e594808301 Implement ContextImpl::isSupported 2017-01-17 21:39:52 +07:00
Sergey Lipskiy
97ba028a6c Correct GLInfo initialization. 2017-01-17 21:39:02 +07:00
Sergey Lipskiy
5757b646f3 Fix crash in init2DTexture when glBindImageTexture is null 2017-01-17 21:21:03 +07:00
Sergey Lipskiy
2304d9dd7b Implement imageTextures support detection. 2017-01-17 21:20:56 +07:00
Sergey Lipskiy
fe5175cee5 Add CachedUseProgram 2017-01-16 20:56:16 +07:00
Sergey Lipskiy
c5e2575722 Fixes 2017-01-16 20:56:13 +07:00
Sergey Lipskiy
e83c3489a3 Replace OGLVideo by DisplayWindow
Replace OGLRender by GraphicsDrawer
2017-01-16 20:56:11 +07:00
Sergey Lipskiy
809987b515 Implement GraphicsDrawer::_initStates() 2017-01-16 20:56:04 +07:00
Sergey Lipskiy
a30c317c4b Implement FramebufferTextureFormats 2017-01-16 20:55:57 +07:00
Sergey Lipskiy
5e67d79ae7 Implement Context::blitFramebuffers 2017-01-14 17:08:02 +07:00
Sergey Lipskiy
4b2aef86da Make ShaderProgram descendant of CombinerProgram. 2017-01-14 13:28:54 +07:00
Sergey Lipskiy
52aa260153 Move GraphicsDrawer and TextDrawer interfaces to OpenGLContext 2017-01-12 22:22:53 +07:00
Sergey Lipskiy
a39bdd2ad3 Fixes in CombinerProgramBuilder 2017-01-11 19:23:44 +07:00
Sergey Lipskiy
fa3e7a0584 GraphicsDrawer WIP 2017-01-11 17:07:20 +07:00
Sergey Lipskiy
f92dd70d36 Rename Drawer to GraphicsDrawer 2017-01-11 13:08:05 +07:00
Sergey Lipskiy
0d8458d6b1 Implement UnbufferedDrawer 2017-01-10 22:22:42 +07:00
Sergey Lipskiy
d1ad4538f3 CombinerProgram cleanup 2017-01-10 22:22:37 +07:00
Sergey Lipskiy
dd57479838 Add Drawer class to replace OGLRender WIP 2017-01-10 22:22:32 +07:00
Sergey Lipskiy
3bbb871fc6 Add DisplayWindow class to replace OGLVideo 2017-01-09 19:36:58 +07:00
Sergey Lipskiy
07fae53ed4 Code cleanup 2017-01-09 19:36:53 +07:00
Sergey Lipskiy
f650e5e54b Implement TexrectDrawer shaders in SpecialShadersFactory. 2017-01-08 20:23:38 +07:00
Sergey Lipskiy
04ffc45023 Add fragmentHeaderCalcLight only if hw light is on. 2017-01-08 17:59:35 +07:00
Sergey Lipskiy
7af25b2452 Rewrite shader cache 2017-01-08 17:49:53 +07:00
Sergey Lipskiy
c68b6b9085 Special shaders 2017-01-08 17:49:50 +07:00
Sergey Lipskiy
dcf1065957 Add textureIndices parameters 2017-01-08 17:49:47 +07:00
Sergey Lipskiy
f6c1ffc0c9 Fix MAX_ANISOTROPY parameter 2017-01-08 17:49:44 +07:00
Sergey Lipskiy
6ef2431e19 Rewrite NoiseTexture 2017-01-08 17:49:42 +07:00
Sergey Lipskiy
41d0a9ade5 Replace ShaderCombiner 2 2017-01-08 17:49:39 +07:00
Sergey Lipskiy
9725c527b9 Replace ShaderCombiner by graphics::CombinerProgram WIP 2017-01-08 17:49:37 +07:00
Sergey Lipskiy
bda5d81f82 CombinerProgramUniformFactory 2017-01-08 17:49:25 +07:00
Sergey Lipskiy
659bd807f5 CombinerProgramBuilder WIP 2017-01-08 17:49:05 +07:00
Sergey Lipskiy
60813209f7 CombinerProgram initial work 2017-01-03 21:57:46 +07:00
Sergey Lipskiy
daf6646b97 BufferManipulationObjects 2: createRenderbuffer, initRenderbuffer 2017-01-02 22:40:41 +07:00
Sergey Lipskiy
cf5e9d8ed2 BufferManipulationObjects WIP 2017-01-02 21:00:49 +07:00
Sergey Lipskiy
ed77923449 Use gfxContext in TextDrawer 2017-01-02 00:24:39 +07:00
Sergey Lipskiy
7fdf97cf29 Use gfxContext in FrameBuffer 2017-01-02 00:09:19 +07:00
Sergey Lipskiy
84b7050339 Use gfxContext in DepthBuffer 2017-01-01 22:00:15 +07:00
Sergey Lipskiy
be019ab013 Correct internalcolor 2017-01-01 22:00:09 +07:00
Sergey Lipskiy
2c4c75ae01 Correct InitTextureParams 2017-01-01 22:00:07 +07:00
Sergey Lipskiy
3eb11aac82 setTextureParameters WIP 2017-01-01 21:59:54 +07:00
Sergey Lipskiy
eb7b640aa0 Use InitTextureParams struct instead of separate parameters. 2016-12-31 19:30:22 +07:00
Sergey Lipskiy
62e7fcf580 Add cached GL functions. 2016-12-31 19:30:19 +07:00
Sergey Lipskiy
c1c09d4d56 Unix fixes. 2016-12-31 19:30:16 +07:00
Sergey Lipskiy
2a1a2d5c00 Implement Init2DTexture objects 2016-12-31 19:30:13 +07:00
Sergey Lipskiy
d6a9e4cc39 Add TextureManipulationObjectFactory 2016-12-31 19:30:11 +07:00
Sergey Lipskiy
8248617a06 Add graphics parameters. 2016-12-31 19:30:09 +07:00
Sergey Lipskiy
365b116c57 Start Graphics content implementation. First step: init , destroy , createTexture, deleteTexture 2016-12-31 19:30:05 +07:00