| 122 | } // namespace |
| 123 | |
| 124 | Status GlProgram::CreateWithShader(const GlShader& shader, |
| 125 | GlProgram* gl_program) { |
| 126 | GLuint program_id; |
| 127 | RETURN_IF_ERROR(CreateNewProgramId(&program_id)); |
| 128 | |
| 129 | // program_id needs to be properly deleted if there will be an error, hense |
| 130 | // wrap program_id into Program. |
| 131 | GlProgram program(program_id); |
| 132 | |
| 133 | RETURN_IF_ERROR( |
| 134 | TFLITE_GPU_CALL_GL(glAttachShader, program.id(), shader.id())); |
| 135 | RETURN_IF_ERROR(TFLITE_GPU_CALL_GL(glLinkProgram, program.id())); |
| 136 | RETURN_IF_ERROR(CheckProgramLinked(program.id())); |
| 137 | |
| 138 | *gl_program = std::move(program); |
| 139 | return OkStatus(); |
| 140 | } |
| 141 | |
| 142 | Status GlProgram::CreateWithBinaryShader(const BinaryShader& shader, |
| 143 | GlProgram* gl_program) { |
nothing calls this directly
no test coverage detected