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