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
Sergey Lipskiy
38dc7ff25f Clear fences list in olorBufferReaderWithBufferStorage::_destroyBuffers()
Fixed memory leak on graphics context destroy.
2017-11-19 19:56:05 +07:00
Sergey Lipskiy
26623cec1f Code cleanup: fix issues in GLideN64 found by static code analyser. 2017-11-18 22:07:27 +07:00
Sten Appelt
9d735212f0 Rewrite glGetProcAddress for MacOsX 2017-11-18 15:35:38 +07:00
Sergey Lipskiy
5a037474a2 Code cleanup: fix compilation warnings. 2017-11-15 15:07:52 +07:00
Sergey Lipskiy
dcdf66dc0b Fix hardware lighting. It was broken when lighting method was rewritten in 6af6e2c17f
Hardware lighting is incompatible with new lighting method.
Model matrix may be different for different vartices, but only latest state of inverted light vectors are loaded to shader.
Thus I reverted calculations of data for hardware lighting.

Minor code cleanup.

Fixed: Zelda OOT, bad lighting with HW per pixel lighting #1652
2017-11-11 21:35:08 +07:00
Sergey Lipskiy
591eda82ba Set PrimDepth to gl_FragDepth when DepthSource set to Primitive.
This makes player's shadow solid in Tony Hawk's Pro Skater 2
2017-11-11 01:30:48 +07:00
Sergey Lipskiy
3c61198043 Hardcode blend mode, which is impossible to emulate with shaders.
Fixed Tony Hawk's Pro Skater 2 Shadow Glitch #1337
2017-11-11 01:01:49 +07:00
Sergey Lipskiy
a47d9d5840 Save hardware per pixel lighting enabled flag in combiners keys storage.
Use it to set hardware lighting support in GBI.

Fixed New shader cache breaks with hardware per pixel lighting enabled #1650
2017-11-08 17:11:14 +07:00
Sergey Lipskiy
7642758873 Fix shader compilation for combiners, wich use only T1.
Fixed main menu in Paper Mario.
2017-11-07 11:22:12 +07:00
Sergey Lipskiy
b4ad1832c4 Write siplified texture read shaders for COPY mode.
Up shaders storage version.

Fixed wrong use of YUV conversion in COPY mode.
2017-11-02 17:08:33 +07:00
Sergey Lipskiy
dcf8784dca Disable hardware lighting for ucodes with custom lighting methods.
Fixed #1542 Turok 2/Turok 3 Per Pixel Lighting Rainbow Weapons.
2017-10-31 17:42:48 +07:00
Sergey Lipskiy
adc2b547e8 Implement YUV-to-RGB color space conversion. See 12.5 of programming manual
Up shader storage version.

Fixed Killer Instinct Gold: Improper Projectile Effects. #1513
2017-10-31 13:27:34 +07:00
Sergey Lipskiy
365838eddc Fixed problem with combiners shaders generation:
Parts of shaders code created on start. Some parts depend on config options.
When config changed with GUI shaders updated but code parts not updated.
Thus new shaders do not correspond to current state of config.
2017-10-29 16:49:05 +07:00
Sergey Lipskiy
7d1d3da114 Put UTextureFilterMode uniform creation to the right place. 2017-10-29 15:10:53 +07:00
Sergey Lipskiy
c5c0fbeb6f Use combiners keys when ShaderProgramBinary is not supported and shaders storage con not be created. 2017-10-28 21:48:01 +07:00
Sergey Lipskiy
f6b0f3446b Fix compilation with gcc. 2017-10-27 10:08:22 +07:00
Sergey Lipskiy
7e4271d991 Display save/load progress for combiners shaders
Display "init noise texture" message. Progress is hard to display because noise textures generated in threads.
2017-10-26 00:37:26 +07:00
Sergey Lipskiy
aba3fefe63 Implement alternative methods of combiners shaders load.
Combiners muxes saved in separate text file.
When shader cache becames invalid, list of shaders muxes used to re-create combiners.
2017-10-26 00:27:52 +07:00
Sergey Lipskiy
35cc66bad4 Code cleanup:
* make RSPInfo::busy and RSPInfo::halt boolean
* remove RSPInfo::close
* rename RSPInfo::bLLE to RSPInfo::LLE
2017-10-24 15:44:37 +07:00
Sergey Lipskiy
977fddf3ea Correct condition for Zelda monochrome buffer.
Fixed Pokemon Puzzle League: missing graphics in game (regression) #1588
2017-10-11 15:06:32 +07:00
Francisco Zurita
762def7dae Fix issues reported by Valgrind 2017-10-09 23:51:16 -04:00
Conn O'Griofa
d8ac5a761c Raspberry Pi: fix vendor library names & add override
* Use new libbrcmEGL/libbrcmGLESv2 names
* Allow RPI autodetection override via -DMESA=On (for VC4 driver)
2017-10-07 08:26:31 +01:00
gizmo98
db18139ca5 Refine fullscreen toggle logic
-Toggle m_bFullscreen if _changeWindow is executed.
-Don’t allow _resizeWindow if m_bFullscreen is true.
-_resizeWindow returns false if fullscreen is enabled.
2017-10-06 14:07:06 +07:00
clobber
a3807827c0 Simplified and complete workaround for #1601
This properly worksaround the bug with Intel drivers on the Mac, which initially broke in parts of commits d4dbe7c094 and 231463e368
2017-10-01 14:05:25 +07:00
Sergey Lipskiy
e8b03cd599 Make workaround for #1601 Intel-specific.
Fixed Blending changes broke PowerVR devices #1608
2017-09-30 18:01:26 +07:00
Sergey Lipskiy
70c540b073 Rewrite fix for #1539 : keep in tile descriptor start address of frame buffer, not pointer on it.
Should be more safe.
2017-09-29 22:25:56 +07:00
clobber
3c8689d848 ShaderBlender: cast to ivec4 where needed. Fixes #1601
This works around a bug with Intel GPU's on macOS where colors can appear wrong.
2017-09-29 14:58:40 +07:00
Sergey Lipskiy
d404dbfceb Correct UBlendMode2Cycle::update()
Fixed World Driver Championship shadows are.....grey! #1596
2017-09-27 18:21:20 +07:00
Sergey Lipskiy
ee3f4a6962 Partially revert commit 81cc0854 Fix blending when CLR_ON_CVG flag is on.
It will not work without pixel covarage calculation.

Fixed Mario Tennis (USA) - missing character selection icons (regression) #1599
Fixed Android/potential PC regression too: Conker broken FB render/lighting chunks. #1597
2017-09-27 16:19:28 +07:00
Logan
c925b8dd54 Optimize 3point shader 2017-09-26 15:20:46 -06:00
Sergey Lipskiy
1266ced083 Code cleaup: remove unused MonochromeCombiner. 2017-09-24 18:51:02 +07:00
Sergey Lipskiy
81cc0854dc Fix blending when CLR_ON_CVG flag is on.
Remove hack for Pilot Wings.
2017-09-21 23:18:35 +07:00
Sergey Lipskiy
a70bc7411b Fix glError in screenshot functions. 2017-09-21 23:18:32 +07:00
Sergey Lipskiy
231463e368 Optimize blender shaders. Thanks to Logan McNaughton aka loganmc10 and standard-two-simplex for the new code. 2017-09-21 23:18:11 +07:00
Sergey Lipskiy
da2becd57e Fix ShaderBlender1::write method. Up ShaderStorage version.
Fixed #1553 Resetting once breaks rendering via transparency of many textures.
Thanks Logan McNaughton for finding the root of the problem.
2017-09-21 21:33:08 +07:00
Sergey Lipskiy
d4dbe7c094 Correct blending when FORCE_BL flag is off. Up shader storage version.
Fixed F-Zero X wrong borders #639
2017-09-21 21:33:08 +07:00
Sergey Lipskiy
47d718f287 Add F3DFLX2 ucode for F-Zero. Implement F3DFLX2 lighting method. 2017-09-21 21:33:08 +07:00
Francisco Zurita
16d1aa6761 Fix possible memory corruption when reading pixels for G_IM_SIZ_8b
buffers.

Also, improve variable naming.
2017-09-11 10:26:49 +07:00
Logan McNaughton
23642624d4 Enable IPO for Release build 2017-09-06 20:48:11 -06:00
Sergey Lipskiy
f95d819a47 Up shader storage version. 2017-08-11 12:23:39 +07:00
Sergey Lipskiy
089dd2df0e Fix fog for F3DSWRS 2017-08-11 12:23:39 +07:00
Sergey Lipskiy
3b9f16e8dd Fix regression with blending in A Bug's Life, #1488
Hack alert:
The problem blender is used in two cycles mode, but both cycles are the same:
c_in*a_in + c_mem * 1ma
I have no access to c_mem from shader. Therefore, I use c_in instead of c_mem in the first cycle.
Result of the second cycle will be blended with c_mem by GL blender, as usual.
This is pretty good approximation, no problems noticed.
2017-07-30 22:50:39 +07:00
Sergey Lipskiy
5691fcbc23 Implement F3DAM ucode.
Decoded by olivieryuyu

Fixed #97 hey you pikachu:hilarious texture bug
2017-07-17 23:08:26 +07:00
Sergey Lipskiy
d89e48df46 Add TextDrawer::setTextColor method. 2017-06-25 15:07:02 +07:00
Sergey Lipskiy
a6babb418f Rewrite monochrome effect for Zeldas.
Fixed #1505 OoT Ending Screen Freeze Effect Color Wrong
2017-06-19 21:44:40 +07:00
Francisco Zurita
ad48345ec0 Changes needed to build with Android NDK 15 2017-06-18 18:33:05 -04:00
Sergey Lipskiy
312a9a77f2 Insure that BufferedDrawer::m_vertices size is enough to take any amont of data. 2017-06-16 00:22:13 +07:00
Sergey Lipskiy
b4ce5fb842 Fix line width for BufferedDrawer::drawLine. 2017-05-28 22:11:27 +07:00
Francisco Zurita
2e1baf433c Added floating point support to ColorBufferReader
I consolidated a lot of code that was the same between implementations in
the process, so now the code is common.
2017-04-25 16:51:18 +07:00
Francisco Zurita
4a8ae7e1cf Use floating point frame buffer format for Adreno 500 series GPUs 2017-04-25 16:51:18 +07:00
gizmo98
abdba2c149 Refactor gSP.lights and gSP.lookat 2017-04-05 10:40:01 +07:00
Sergey Lipskiy
5e51b386f1 Make Resident Evil 2 playable. 2017-04-02 12:02:38 +07:00
Sergey Lipskiy
51afc1e3b5 Correct DisplayWindowWindows::_readScreen 2017-04-01 19:51:36 +07:00
Sergey Lipskiy
1bf327b67c Read screen shot data only from front buffer. 2017-04-01 10:49:32 +07:00
Logan McNaughton
300134584f Add glFinish 2017-03-30 13:35:05 -06:00
Logan McNaughton
ebcf46e5ad ColorBufferReader performance improvements 2017-03-29 14:34:23 -07:00
Sergey Lipskiy
b78c279676 Correct UScreenScale::update() 2017-03-23 15:53:22 +07:00
Sergey Lipskiy
8413d57fde Remove hack_ZeldaMM from URenderTarget::update().
Fixed Majora's Mask - No geometry visible with N64 depth compare #1431
2017-03-21 22:30:26 +07:00
Logan McNaughton
d87ad2c3d6 Disable LOD emulation on GLES2 devices that can't support it 2017-03-18 23:05:10 -06:00
Logan McNaughton
c0d4644a22 Fix GL_ARB_compute_shader statement 2017-03-18 19:14:21 +07:00
Sergey Lipskiy
cd9567b728 Up shader storage version. 2017-03-16 18:50:15 +07:00
Sergey Lipskiy
811dea1d77 Rewrite viewport for polygons with screen coords. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
483212f382 Correct special drawers. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
bca21ed071 Invert y coordinate to align image origin with frame origin. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
6b4ae04f5e Rewrite polygons drawing in N64 depth compare mode.
Fixed #1418: Various regressions since PR2.0 with N64 depth compare enabled
2017-03-16 14:56:20 +07:00
Logan McNaughton
07a84a9973 Add missing GLSL extension 2017-03-14 20:25:27 -06:00
Sergey Lipskiy
b3906b2402 Revert "Rename opengl_ColorBufferReaderWithBUfferStorage.h/cpp"
This reverts commit 58ddf8822c.
2017-03-11 13:20:59 +07:00
Sergey Lipskiy
8ea0cddbec Disable texcoord attribs for fillrect.
Fixed fillrects in Pokemon Stadium 2.
2017-03-11 12:46:40 +07:00
Sergey Lipskiy
9e7826bd1a Fix viewport set in DisplayWindowMupen64plus::_swapBuffers()
Fixed Native resolution factor seems broken #1404
2017-03-09 13:11:59 +07:00
Sergey Lipskiy
72fef1d9a9 Fix compile and link on MAC_OS_X 2017-03-03 17:41:18 +07:00
Logan McNaughton
0dc261813a Hacky fix for RPi depth issues 2017-02-28 12:11:06 -07:00
Sergey Lipskiy
62e414ce8a Up shader storage version. 2017-02-28 15:48:17 +07:00
Sergey Lipskiy
eebdd32932 Replace rectAttrib::color by uniform. 2017-02-28 15:48:14 +07:00
Sergey Lipskiy
3fab248808 Up ShaderStorageFormatVersion. 2017-02-25 14:08:20 +07:00
Francisco Zurita
f773ddb001 Silence clang warning. 2017-02-25 01:09:24 -05:00
Francisco Zurita
58ddf8822c Rename opengl_ColorBufferReaderWithBUfferStorage.h/cpp
This allow compilation with clang in Anroid Studio with Windows. This file
name was too long for some reason.
2017-02-25 00:59:56 -05:00
Sergey Lipskiy
827b6bb9cd Code refactor: replace graphics::ObjectHandle() by graphics::ObjectHandle::null 2017-02-22 16:45:27 +07:00
Logan McNaughton
c42c1a4a4b Disable async color buffer copies on non-android GLES2 2017-02-21 13:41:57 +07:00
Sergey Lipskiy
8767a82dfc Implement vsync for Zilmar-specs build. 2017-02-20 15:56:46 +07:00
Francisco Zurita
c68a092207 Fix GLSL compilation error with PowerVR devices. 2017-02-20 01:29:10 -05:00
Sergey Lipskiy
b5652e3309 Remove uMSAAScale uniform. 2017-02-19 21:14:42 +07:00
Sergey Lipskiy
5d0ea0a6f5 Add MonochromeFragmentShader for MSAA textures. 2017-02-19 21:08:11 +07:00
Sergey Lipskiy
8544673e96 Minor optimization in CombinerProgramUniformFactory::buildUniforms 2017-02-19 20:36:29 +07:00
Sergey Lipskiy
c33d8555b2 Make N64DepthCompare setting independent off enableFragmentDepthWrite one. 2017-02-17 17:14:45 +07:00
Francisco Zurita
8b08bddb91 Common implementation of N64 depth compare for Full GL and GLES
Also, fix small typo.
2017-02-17 15:54:13 +07:00
Sergey Lipskiy
b6067bb90d Call glMemoryBarrier before polygon draw when N64DepthCompare enabled. 2017-02-17 15:53:46 +07:00
Francisco Zurita
fae25a494a Implemented Async buffer copies for GLES2 using EGLImage
Run time loading of the library used this implementation:

e5f5d8fa1c/imagine/src/base/android/privateApi
2017-02-14 00:10:49 -05:00
Francisco Zurita
ab0e472014 Add compiler macro to produce backtrace on GL Error for all GL functions
This will also log the function name and the error number when the GL
error happens.
2017-02-14 09:57:08 +07:00
Francisco Zurita
ac815ee595 Fix multisampling in Adreno devices
In GLES blits between multisampled and not multisampled framebuffers must
have the same source and destination coords.
2017-02-13 16:41:27 +07:00
Sergey Lipskiy
42bad7958a Set texture size for TexrectDrawer shader. It is necessary for GLES2. 2017-02-13 16:24:28 +07:00
Sergey Lipskiy
276018a2fc Refactor TexrectDrawer. 2017-02-12 22:21:20 +07:00
Francisco Zurita
0e8e71639b Implement generic copy color to RDRAM for GLES2 devices
Async copy is not supported for GLES2 devices unless using EGL Image
extension which has platform independent implementations
2017-02-12 14:40:01 +07:00
Sergey Lipskiy
2483903b74 Refactor TextDrawer: remove direct use of OpenGL
Remove DummyTextDrawer.
2017-02-12 14:27:26 +07:00
Sergey Lipskiy
e011ee56b5 Fix internal texture formats for GLES 2.0 2017-02-10 16:58:17 +07:00
Sergey Lipskiy
66fed934c5 Fix typo in UTextureSize uniform.
Fixed work of 3 point filtering with GLES 2.0
2017-02-10 14:42:05 +07:00
Logan McNaughton
1f74b9c821 Disable N64 Depth Compare if Image Textures are unsupported
Also disable fragment depth writing in GLES2
2017-02-09 21:54:44 +07:00
Francisco Zurita
1319687f86 Replace ANDROID macro definition with OS_ANDROID 2017-02-09 20:38:27 +07:00
Francisco Zurita
c53dc0a6c0 Remove macros checking for GL version and use runtime checks instead. 2017-02-09 20:38:26 +07:00
Logan McNaughton
9c16d1e75c Make compatible with apitrace in Debug mode 2017-02-08 12:33:38 +07:00
Logan McNaughton
acff19e66c Force disable fragment depth writing in GLES2 2017-02-08 12:33:31 +07:00
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