summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_util.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* renderer_opengl: delete shader source after linkingLiam2022-07-301-0/+1
|
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
* video_core: Reduce unused includesameerj2022-03-191-1/+0
|
* renderer_opengl: Use ARB_separate_shader_objectsReinUsesLisp2021-07-231-26/+31
| | | | | Ensures that states set for a particular stage are not attached to other stages which may not need them.
* glsl: Address more feedback. Implement indexed texture readsameerj2021-07-231-3/+3
|
* glsl: Rebase fixesameerj2021-07-231-2/+5
|
* gl_shader_util: Move shader utility code to a separate fileReinUsesLisp2021-07-231-37/+80
|
* gl_shader_util: Use std::string_view instead of star pointerReinUsesLisp2020-08-241-4/+11
| | | | | This allows us passing any type of string and hinting the length of the string to the OpenGL driver.
* gl_shader_cache: Address review commentariesReinUsesLisp2019-07-151-3/+3
|
* gl_rasterizer: Implement compute shadersReinUsesLisp2019-07-151-8/+12
|
* video_core: fixed arithmetic overflow warnings & improved code stylePatrick Elsässer2018-09-091-1/+1
| | | | | | | | - Fixed all warnings, for renderer_opengl items, which were indicating a possible incorrect behavior from integral promotion rules and types larger than those in which arithmetic is typically performed. - Added const for variables where possible and meaningful. - Added constexpr where possible.
* renderer_opengl: Namespace OpenGL codeLioncash2018-08-221-2/+2
| | | | | | | Namespaces all OpenGL code under the OpenGL namespace. Prevents polluting the global namespace and allows clear distinction between other renderers' code in the future.
* Rename logging macro back to LOG_*James Rowe2018-07-031-3/+3
|
* gl_shader_util: Grab latest upstream.bunnei2018-04-141-142/+27
|
* renderer_opengl: Logging, etc. cleanup.bunnei2018-03-271-10/+10
|
* gl_shader_util: Sync latest version with Citra.bunnei2018-03-201-44/+110
|
* ASSERT that shader was linked successfullyJannik Vogel2016-12-051-0/+2
|
* Print broken shader code to logJannik Vogel2016-12-051-3/+9
|
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-3/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-1/+2
|
* VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-1/+2
|
* gl_shader_gen: Use explicit locations for vertex shader attributes.bunnei2015-10-221-6/+0
|
* gl_rasterizer: Define enum types for each vertex texcoord attribute.bunnei2015-10-221-3/+3
|
* gl_shader_gen: Various cleanups to shader generation.bunnei2015-10-221-3/+3
|
* renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.bunnei2015-10-221-345/+3
|
* gl_shader_util: Use vec3 constants for AppendColorCombiner.bunnei2015-10-221-6/+6
|
* gl_shader_util: Fix precision bug with alpha testing.bunnei2015-10-221-7/+7
| | | | - Alpha testing is not done with float32 precision, this makes the HW renderer match the SW renderer.
* Initial implementation of fragment shader generation with caching.Subv2015-10-221-0/+349
|
* video_core: Reorganize headersLioncash2015-09-111-4/+4
|
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-1/+1
| | | | | | | Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
* License changepurpasmart962014-12-211-1/+1
|
* Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-131-6/+18
|
* Change NULLs to nullptrs.Rohit Nirmal2014-12-031-5/+5
|
* Only check OpenGL shader log if size is >1.Yuri Kunde Schlesner2014-10-211-9/+6
| | | | | | | | This prevents a crash when the buffer size returned by the driver is 0, in which case no space is allocated to store even the NULL byte and glGetShaderInfoLog errors out. Thanks to @Relys for the bug report.
* Rewrite of OpenGL renderer, including OS X supportKevin Hartman2014-08-261-0/+81
Screen contents are now displayed using textured quads. This can be updated to expose an FBO once an OpenGL backend for when Pica rendering is being worked on. That FBO's texture can then be applied to the quads. Previously, FBO blitting was used in order to display screen contents, which did not work on OS X. The new textured quad approach is less of a compatibility risk.