| 165 | } |
| 166 | |
| 167 | GLuint GetFixedColProgram(WrappedOpenGL *driver, GLReplay *replay, |
| 168 | GLPixelHistoryResources &resources, GLuint currentProgram) |
| 169 | { |
| 170 | GLRenderState rs; |
| 171 | rs.FetchState(driver); |
| 172 | |
| 173 | auto programIterator = resources.fixedColPrograms.find(currentProgram); |
| 174 | if(programIterator != resources.fixedColPrograms.end()) |
| 175 | { |
| 176 | return RefreshUniforms(driver, rs, programIterator->second); |
| 177 | } |
| 178 | |
| 179 | GLuint ret = driver->glCreateProgram(); |
| 180 | replay->CreateShaderReplacementProgram(rs.Program.name, rs.Pipeline.name, ret, ShaderStage::Pixel, |
| 181 | resources.fixedColFragmentShader, |
| 182 | resources.fixedColFragmentShaderSPIRV); |
| 183 | |
| 184 | resources.fixedColPrograms[currentProgram] = ret; |
| 185 | |
| 186 | return ret; |
| 187 | } |
| 188 | |
| 189 | GLuint GetPrimitiveIdProgram(WrappedOpenGL *driver, GLReplay *replay, |
| 190 | GLPixelHistoryResources &resources, GLuint currentProgram) |
no test coverage detected