mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 18:11:05 -05:00
fa855b7c45
This makes a start on clearly factoring the deprecated code of core Cogl into a deprecated/ directory. Ideally we want to get to the point where all code here can be re-worked in terms of the public 2.0 api so that it can be kept indefinitely for cogl 1.x api compatibility without cluttering the core code base itself. If we can do this then we can avoid maintaining the Cogl 1.x branches in parallel with master which would reduce the maintenance effort.
66 lines
1.8 KiB
C
66 lines
1.8 KiB
C
/*
|
|
* Cogl
|
|
*
|
|
* An object oriented GL/GLES Abstraction/Utility Layer
|
|
*
|
|
* Copyright (C) 2008,2009 Intel Corporation.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
*
|
|
*/
|
|
|
|
#ifndef __COGL_SHADER_H
|
|
#define __COGL_SHADER_H
|
|
|
|
#include "cogl-object-private.h"
|
|
#include "cogl-shader.h"
|
|
#include "cogl-gl-header.h"
|
|
#include "cogl-pipeline.h"
|
|
|
|
typedef struct _CoglShader CoglShader;
|
|
|
|
typedef enum
|
|
{
|
|
COGL_SHADER_LANGUAGE_GLSL,
|
|
COGL_SHADER_LANGUAGE_ARBFP
|
|
} CoglShaderLanguage;
|
|
|
|
struct _CoglShader
|
|
{
|
|
CoglHandleObject _parent;
|
|
GLuint gl_handle;
|
|
CoglPipeline *compilation_pipeline;
|
|
CoglShaderType type;
|
|
CoglShaderLanguage language;
|
|
char *source;
|
|
};
|
|
|
|
void
|
|
_cogl_shader_compile_real (CoglHandle handle,
|
|
CoglPipeline *pipeline);
|
|
|
|
CoglShaderLanguage
|
|
_cogl_program_get_language (CoglHandle handle);
|
|
|
|
void
|
|
_cogl_shader_set_source_with_boilerplate (GLuint shader_gl_handle,
|
|
GLenum shader_gl_type,
|
|
int n_tex_coord_attribs,
|
|
GLsizei count_in,
|
|
const char **strings_in,
|
|
const GLint *lengths_in);
|
|
|
|
#endif /* __COGL_SHADER_H */
|