summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_shader_util.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-07-30renderer_opengl: delete shader source after linkingLiam1-0/+1
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda1-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
2022-03-19video_core: Reduce unused includesameerj1-1/+0
2021-07-23renderer_opengl: Use ARB_separate_shader_objectsReinUsesLisp1-26/+31
Ensures that states set for a particular stage are not attached to other stages which may not need them.
2021-07-23glsl: Address more feedback. Implement indexed texture readsameerj1-3/+3
2021-07-23glsl: Rebase fixesameerj1-2/+5
2021-07-23gl_shader_util: Move shader utility code to a separate fileReinUsesLisp1-37/+80
2020-08-24gl_shader_util: Use std::string_view instead of star pointerReinUsesLisp1-4/+11
This allows us passing any type of string and hinting the length of the string to the OpenGL driver.
2019-07-15gl_shader_cache: Address review commentariesReinUsesLisp1-3/+3
2019-07-15gl_rasterizer: Implement compute shadersReinUsesLisp1-8/+12
2018-09-09video_core: fixed arithmetic overflow warnings & improved code stylePatrick Elsässer1-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.
2018-08-22renderer_opengl: Namespace OpenGL codeLioncash1-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.
2018-07-03Rename logging macro back to LOG_*James Rowe1-3/+3
2018-04-14gl_shader_util: Grab latest upstream.bunnei1-142/+27
2018-03-27renderer_opengl: Logging, etc. cleanup.bunnei1-10/+10
2018-03-20gl_shader_util: Sync latest version with Citra.bunnei1-44/+110
2016-12-05ASSERT that shader was linked successfullyJannik Vogel1-0/+2
2016-12-05Print broken shader code to logJannik Vogel1-3/+9
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-3/+1
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-1/+2
2016-04-30VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot1-1/+2
2015-10-22gl_shader_gen: Use explicit locations for vertex shader attributes.bunnei1-6/+0
2015-10-22gl_rasterizer: Define enum types for each vertex texcoord attribute.bunnei1-3/+3
2015-10-22gl_shader_gen: Various cleanups to shader generation.bunnei1-3/+3
2015-10-22renderer_opengl: Refactor shader generation/caching to be more organized + various cleanups.bunnei1-345/+3
2015-10-22gl_shader_util: Use vec3 constants for AppendColorCombiner.bunnei1-6/+6
2015-10-22gl_shader_util: Fix precision bug with alpha testing.bunnei1-7/+7
- Alpha testing is not done with float32 precision, this makes the HW renderer match the SW renderer.
2015-10-22Initial implementation of fragment shader generation with caching.Subv1-0/+349
2015-09-11video_core: Reorganize headersLioncash1-4/+4
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift1-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.
2014-12-21License changepurpasmart961-1/+1
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner1-6/+18
2014-12-03Change NULLs to nullptrs.Rohit Nirmal1-5/+5
2014-10-21Only check OpenGL shader log if size is >1.Yuri Kunde Schlesner1-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.
2014-08-26Rewrite of OpenGL renderer, including OS X supportKevin Hartman1-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.