summaryrefslogtreecommitdiff
path: root/gsk/gskshaderbuilder.c
Commit message (Collapse)AuthorAgeFilesLines
* gl: Move shaderbuilder into gl/ subdirectoryTimm Bäder2018-03-151-482/+0
| | | | It only handles OpenGL shaders.
* Rework the GL rendererTimm Bäder2017-12-211-2/+0
|
* GtkShaderBuilder Fix copy/paste error in preconditionTimm Bäder2017-03-171-1/+1
| | | | | | gtk_shader_builder_add_define should check both define_name and define_value for not-NULL and not-empty, but the second precondition check checks define_name again for not-empty-ness.
* Fix a few memory leaksTimm Bäder2016-10-211-0/+2
|
* gsk: Move resource handling inside GskGLDriverEmmanuele Bassi2016-10-181-4/+2
| | | | | | We want the GL driver to cache as many resources as possible, so we can always ensure that we're in a consistent state, and we can handle state transitions more appropriately.
* gsk: Add specific debug type for shadersEmmanuele Bassi2016-10-181-3/+4
| | | | | So that we don't lose GskShaderBuilder debugging messages in the stream of GskGLRenderer ones.
* gsk: Consolidate program creation and storageEmmanuele Bassi2016-10-181-43/+121
| | | | | | | | We should use ShaderBuilder to create and store programs for the GL renderer. This allows us to simplify the creation of programs (by moving the compilation phase into the ShaderBuilder::create_program() method), and move towards the ability to create multiple programs and just keep a reference to the program id.
* gsk: Add getter for program id in ShaderBuilderEmmanuele Bassi2016-10-181-0/+8
| | | | | Since we store it into the ShaderBuilder instance we should also allow getting the program id.
* gsk: Add debugging notes to ShaderBuilderEmmanuele Bassi2016-10-181-0/+38
| | | | | Print out the generated shader and the list of available uniforms and attributes.
* gsk: Add ShaderBuilderEmmanuele Bassi2016-10-181-0/+359
GskShaderBuilder is an ancillary, private type that deals with the internals of taking GLSL shaders from resources and building them, with the additional feature of being able to compose shaders from a common preamble, as well as adding conditional defines (useful for enabling debugging code in the shaders themselves).