Lines Matching refs:Shader
21 // This is used to keep the source code for a shader. This is because in order
25 class GPU_EXPORT Shader : public base::RefCounted<Shader> {
127 friend class base::RefCounted<Shader>;
130 Shader(GLuint service_id, GLenum shader_type);
131 ~Shader();
139 // The shader this Shader is tracking.
141 // Type of shader - GL_VERTEX_SHADER or GL_FRAGMENT_SHADER.
147 // The shader source as passed to glShaderSource.
153 // The translated shader source.
156 // The shader translation log.
159 // The type info when the shader was last compiled.
164 // The name hashing info when the shader was last compiled.
180 // Creates a shader for the given shader ID.
181 Shader* CreateShader(
186 // Gets an existing shader info for the given shader ID. Returns NULL if none
188 Shader* GetShader(GLuint client_id);
193 void MarkAsDeleted(Shader* shader);
195 // Mark a shader as used
196 void UseShader(Shader* shader);
198 // Unmark a shader as used. If it has been deleted and is not used
199 // then we free the shader.
200 void UnuseShader(Shader* shader);
202 // Check if a Shader is owned by this ShaderManager.
203 bool IsOwned(Shader* shader);
206 friend class Shader;
208 // Info for each shader by service side shader Id.
209 typedef base::hash_map<GLuint, scoped_refptr<Shader> > ShaderMap;
212 void RemoveShader(Shader* shader);