1 //
2 // Copyright 2016 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // ProgramNULL.cpp:
7 //    Implements the class methods for ProgramNULL.
8 //
9 
10 #include "libANGLE/renderer/null/ProgramNULL.h"
11 
12 #include "common/debug.h"
13 
14 namespace rx
15 {
16 
ProgramNULL(const gl::ProgramState & state)17 ProgramNULL::ProgramNULL(const gl::ProgramState &state) : ProgramImpl(state) {}
18 
~ProgramNULL()19 ProgramNULL::~ProgramNULL() {}
20 
load(const gl::Context * context,gl::BinaryInputStream * stream,gl::InfoLog & infoLog)21 std::unique_ptr<LinkEvent> ProgramNULL::load(const gl::Context *context,
22                                              gl::BinaryInputStream *stream,
23                                              gl::InfoLog &infoLog)
24 {
25     return std::make_unique<LinkEventDone>(angle::Result::Continue);
26 }
27 
save(const gl::Context * context,gl::BinaryOutputStream * stream)28 void ProgramNULL::save(const gl::Context *context, gl::BinaryOutputStream *stream) {}
29 
setBinaryRetrievableHint(bool retrievable)30 void ProgramNULL::setBinaryRetrievableHint(bool retrievable) {}
31 
setSeparable(bool separable)32 void ProgramNULL::setSeparable(bool separable) {}
33 
link(const gl::Context * contextImpl,const gl::ProgramLinkedResources & resources,gl::InfoLog & infoLog)34 std::unique_ptr<LinkEvent> ProgramNULL::link(const gl::Context *contextImpl,
35                                              const gl::ProgramLinkedResources &resources,
36                                              gl::InfoLog &infoLog)
37 {
38     return std::make_unique<LinkEventDone>(angle::Result::Continue);
39 }
40 
validate(const gl::Caps & caps,gl::InfoLog * infoLog)41 GLboolean ProgramNULL::validate(const gl::Caps &caps, gl::InfoLog *infoLog)
42 {
43     return GL_TRUE;
44 }
45 
setUniform1fv(GLint location,GLsizei count,const GLfloat * v)46 void ProgramNULL::setUniform1fv(GLint location, GLsizei count, const GLfloat *v) {}
47 
setUniform2fv(GLint location,GLsizei count,const GLfloat * v)48 void ProgramNULL::setUniform2fv(GLint location, GLsizei count, const GLfloat *v) {}
49 
setUniform3fv(GLint location,GLsizei count,const GLfloat * v)50 void ProgramNULL::setUniform3fv(GLint location, GLsizei count, const GLfloat *v) {}
51 
setUniform4fv(GLint location,GLsizei count,const GLfloat * v)52 void ProgramNULL::setUniform4fv(GLint location, GLsizei count, const GLfloat *v) {}
53 
setUniform1iv(GLint location,GLsizei count,const GLint * v)54 void ProgramNULL::setUniform1iv(GLint location, GLsizei count, const GLint *v) {}
55 
setUniform2iv(GLint location,GLsizei count,const GLint * v)56 void ProgramNULL::setUniform2iv(GLint location, GLsizei count, const GLint *v) {}
57 
setUniform3iv(GLint location,GLsizei count,const GLint * v)58 void ProgramNULL::setUniform3iv(GLint location, GLsizei count, const GLint *v) {}
59 
setUniform4iv(GLint location,GLsizei count,const GLint * v)60 void ProgramNULL::setUniform4iv(GLint location, GLsizei count, const GLint *v) {}
61 
setUniform1uiv(GLint location,GLsizei count,const GLuint * v)62 void ProgramNULL::setUniform1uiv(GLint location, GLsizei count, const GLuint *v) {}
63 
setUniform2uiv(GLint location,GLsizei count,const GLuint * v)64 void ProgramNULL::setUniform2uiv(GLint location, GLsizei count, const GLuint *v) {}
65 
setUniform3uiv(GLint location,GLsizei count,const GLuint * v)66 void ProgramNULL::setUniform3uiv(GLint location, GLsizei count, const GLuint *v) {}
67 
setUniform4uiv(GLint location,GLsizei count,const GLuint * v)68 void ProgramNULL::setUniform4uiv(GLint location, GLsizei count, const GLuint *v) {}
69 
setUniformMatrix2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)70 void ProgramNULL::setUniformMatrix2fv(GLint location,
71                                       GLsizei count,
72                                       GLboolean transpose,
73                                       const GLfloat *value)
74 {}
75 
setUniformMatrix3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)76 void ProgramNULL::setUniformMatrix3fv(GLint location,
77                                       GLsizei count,
78                                       GLboolean transpose,
79                                       const GLfloat *value)
80 {}
81 
setUniformMatrix4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)82 void ProgramNULL::setUniformMatrix4fv(GLint location,
83                                       GLsizei count,
84                                       GLboolean transpose,
85                                       const GLfloat *value)
86 {}
87 
setUniformMatrix2x3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)88 void ProgramNULL::setUniformMatrix2x3fv(GLint location,
89                                         GLsizei count,
90                                         GLboolean transpose,
91                                         const GLfloat *value)
92 {}
93 
setUniformMatrix3x2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)94 void ProgramNULL::setUniformMatrix3x2fv(GLint location,
95                                         GLsizei count,
96                                         GLboolean transpose,
97                                         const GLfloat *value)
98 {}
99 
setUniformMatrix2x4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)100 void ProgramNULL::setUniformMatrix2x4fv(GLint location,
101                                         GLsizei count,
102                                         GLboolean transpose,
103                                         const GLfloat *value)
104 {}
105 
setUniformMatrix4x2fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)106 void ProgramNULL::setUniformMatrix4x2fv(GLint location,
107                                         GLsizei count,
108                                         GLboolean transpose,
109                                         const GLfloat *value)
110 {}
111 
setUniformMatrix3x4fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)112 void ProgramNULL::setUniformMatrix3x4fv(GLint location,
113                                         GLsizei count,
114                                         GLboolean transpose,
115                                         const GLfloat *value)
116 {}
117 
setUniformMatrix4x3fv(GLint location,GLsizei count,GLboolean transpose,const GLfloat * value)118 void ProgramNULL::setUniformMatrix4x3fv(GLint location,
119                                         GLsizei count,
120                                         GLboolean transpose,
121                                         const GLfloat *value)
122 {}
123 
getUniformfv(const gl::Context * context,GLint location,GLfloat * params) const124 void ProgramNULL::getUniformfv(const gl::Context *context, GLint location, GLfloat *params) const
125 {
126     // TODO(jmadill): Write some values.
127 }
128 
getUniformiv(const gl::Context * context,GLint location,GLint * params) const129 void ProgramNULL::getUniformiv(const gl::Context *context, GLint location, GLint *params) const
130 {
131     // TODO(jmadill): Write some values.
132 }
133 
getUniformuiv(const gl::Context * context,GLint location,GLuint * params) const134 void ProgramNULL::getUniformuiv(const gl::Context *context, GLint location, GLuint *params) const
135 {
136     // TODO(jmadill): Write some values.
137 }
138 
139 }  // namespace rx
140