summaryrefslogtreecommitdiff
path: root/drivers/gles3/rasterizer_gles3.cpp
AgeCommit message (Collapse)Author
2023-05-12Fix gles3 rendering on android studio emulatorChibiDenDen
Use a temporary framebuffer for screen copy from rendertarget to screen. This solves GLES3 rendering in android studio emulator (before this change there is just a black screen) Based on discussion in: https://github.com/godotengine/godot/issues/74828 (cherry picked from commit 5956aa1a6a7df8b098a12a585f5541042ee1cc6e)
2023-02-21Forbid passing multiview sampler to the custom function in shadersYuri Rubinsky
2023-02-21Fix issue with clearing screen after part has been drawnBastiaan Olij
2023-02-14Clear Window before blitting Viewport in gl_compatibility rendererclayjohn
2023-02-03Trim "/PCIe/SSE2" from GPU names when starting the OpenGL rendererHugo Locurcio
This makes the command line print consistent with the Vulkan renderer.
2023-02-03Print name of Vulkan rendering method on startupHugo Locurcio
This helps troubleshooting as the CLI logs now distinguish between Forward+ and Forward Mobile.
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-16Implement boot image in OpenGL3 rendererclayjohn
2022-12-04[opengl] Don't flip render target when blitting it to screen if it wasn't ↵David Snopek
rendered upside down
2022-11-14Regenerate GL loader code with GLAD 2Riteo
GLAD 1 creates unusable loaders for EGL, while the newly released GLAD 2 does not, so for consistency I thought that it would be a good idea to uniform things beforehand. While it had some API changes some renames were all that was needed and everything works like before, at least on the Wayland branch. I've kept the structure identical, although this new generator has quite a few hefty features, such as a single header mode. I've also added GLAD to `thirdparty/README.md`, but I haven't specified that in the commit title because it's a very small "fix".
2022-10-31Merge pull request #67032 from clayjohn/GLES3-gpu-profilingRémi Verschelde
Add OpenGL timer queries to OpenGL3 backend
2022-10-21Add multiview to the opengl3 driverDavid Snopek
2022-10-07Add OpenGL timer queries to OpenGL3 backendclayjohn
This is useful for the visual debugger, printing FPS, and the in-editor FPS display
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-05Adding getters to RenderTarget and implementing override functionality for XRBastiaan Olij
2022-09-12Fix multiwindow support in GLES3 for X11, Windows, and MacOS.clayjohn
Instead of updating all viewports, then blitting all viewports to the backbuffer, then swapping all buffers, we run through all viewports and render, blit, and swap backbuffer before going to the next viewport.
2022-09-03Re-enable per-pixel transparency support on Linux, macOS, and Windows (for ↵bruvzg
Vulkan and OpenGL rendering drivers).
2022-08-29[Web] Rename JavaScript platform to Web.Fabio Alessandrelli
Also rename export name from "HTML5" to "Web".
2022-07-21Rename OSX to macOS and iPhoneOS to iOS.bruvzg
2022-06-28Split dependency logicBastiaan Olij
Split FOG Split visibility notifier Final cleanup of storage classes
2022-06-22Split GI effects and fix stereoscopic rendering of GI effectsBastiaan Olij
2022-05-24Add clipping, backbuffer, and CanvasGroups to 2D GLES3 rendererclayjohn
As well as significant consequent cleanup in the RenderTarget, Texture, and Canvas renderer code
2022-05-13Merge pull request #60894 from derammo/derammo_opengl3_windowsRémi Verschelde
2022-05-12Basic 3D renderingclayjohn
2022-05-11opengl3 driver now works on windows including multi windowderammo
fixed and simplified gl_manager_windows swap buffers now called for all windows fixed missing pixel format setting in additional windows this makes them work in OpenGL contexts changed verbose error printing to write once this error message happens very frequently while opengl3 is not finished removed dead code no longer needed after changes fixed comments that were misinformation window messages during window creation now handled these were previously discarded messages now tunnel the required context changed failure to create opengl3 window on windows to be more fatal marked a problem with pen code conditional compilation of vulkan and opengl3 on windows fixed windows debug builds now show messages on debug console also rendering driver selection box now shows only compiled drivers marked some problematic code thanks to akien-mga for patiently rewriting my style mistakes
2022-04-26Overhaul GLES3: Add basis for 3D renderer, overhaul materials and texturesclayjohn
2022-04-19Initialize OpenGL before rasterizers in GLES3clayjohn
2022-04-17Merge canvas and decal into TextureStorage and add render targetBastiaan Olij
2022-03-31Extract global variable, shader and material storageBastiaan Olij
2022-03-16Split dummy renderer classes into separate filesBastiaan Olij
Split canvas_texture_storage and texture_storage from render_storage class
2022-01-29simplify formatting scripts, add a clang-tidy script, and run clang-tidyNathan Franke
2022-01-19Revert "Add new scaling modes for splash screen"Rémi Verschelde
This reverts commit fcc9f5ce396ff921ed8253f657a8c9c38e7a878d. The feature is good but the implementation still needs more work. A new PR will be made with a rework of this commit.
2022-01-18Add new scaling modes for splash screenSamuel Pedrajas
Removes the `fullsize` option which is superseded by `stretch_mode`. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-01-11New OpenGL batching canvas rendererclayjohn
2022-01-11WIP New GLES3 Shader Compilerreduz
Uses versions and specializations (more similar to RenderingDevice version)
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-11-19[HTML5] Add WebGL2 (GLES3) support using the OpenGL renderer.Fabio Alessandrelli
Note, the editor build requires the mbedtls module to be manually enabled, as it is currently needed as a ResourceUID dependency. This will need to be addressed in a separate PR.
2021-10-31Use OpenGL 3.3 core profile instead of compatibility profileClay John
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
2020-02-13Remove obsolete GLES3 backendRémi Verschelde
Due to the port to Vulkan and complete redesign of the rendering backend, the `drivers/gles3` code is no longer usable in this state and is not planned to be ported to the new architecture. The GLES2 backend is kept (while still disabled and non-working) as it will eventually be ported to serve as the low-end renderer for Godot 4.0. Some GLES3 features might be selectively ported to the updated GLES2 backend if there's a need for them, and extensions we can use for that. So long, OpenGL driver bugs!
2020-02-11Refactored RID/RID_Owner to always use O(1) allocation.Juan Linietsky
* Implements a growing chunked allocator * Removed redudant methods get and getptr, only getornull is supported now.
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-01-21Remove unused #if 0'ed codeRémi Verschelde
2020-01-06Add VisualServer methods to get the video adapter name and vendorHugo Locurcio
These methods can be used in scripts to retrieve the OpenGL `GL_RENDERER` and `GL_VENDOR` strings (respectively). This closes #28404.
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-06-15Add an option to disable boot splash filteringHugo Locurcio
Disabling filtering is usually desired in projects using a pixel art style. This closes #19415.
2019-04-07Merge pull request #27067 from shartte/remove-context-glRémi Verschelde
Remove ContextGL
2019-04-06Remove ContextGL since as an abstraction it's unused.Sebastian Hartte
2019-04-06Add option to have viewport render into supplied textureBastiaan Olij
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-11-23Prevent GLAPIENTRY redefine in rasterizer, now included in glad.hRémi Verschelde
We otherwise had conflicting defines since 1a41daf3.