Skip to content

Commit 229b3b2

Browse files
committed
Disable sRGB per frame. #99
1 parent 26b2f45 commit 229b3b2

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

platforms/shared/desktop/ogl_renderer.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,8 @@ void ogl_renderer_render(void)
164164
int fb_width = (int)(io.DisplaySize.x * io.DisplayFramebufferScale.x);
165165
int fb_height = (int)(io.DisplaySize.y * io.DisplayFramebufferScale.y);
166166

167+
glDisable(GL_FRAMEBUFFER_SRGB);
168+
167169
glViewport(0, 0, fb_width, fb_height);
168170
glClearColor(clear_color.x, clear_color.y, clear_color.z, clear_color.w);
169171
glClear(GL_COLOR_BUFFER_BIT);
@@ -203,15 +205,15 @@ static void init_ogl_emu(void)
203205

204206
glBindFramebuffer(GL_FRAMEBUFFER, frame_buffer_object);
205207
glBindTexture(GL_TEXTURE_2D, ogl_renderer_emu_texture);
206-
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, FRAME_BUFFER_WIDTH, FRAME_BUFFER_HEIGHT, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
208+
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, FRAME_BUFFER_WIDTH, FRAME_BUFFER_HEIGHT, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
207209
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
208210
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
209211
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, ogl_renderer_emu_texture, 0);
210212

211213
glBindFramebuffer(GL_FRAMEBUFFER, 0);
212214

213215
glBindTexture(GL_TEXTURE_2D, system_texture);
214-
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, SYSTEM_TEXTURE_WIDTH, SYSTEM_TEXTURE_HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*) emu_frame_buffer);
216+
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, SYSTEM_TEXTURE_WIDTH, SYSTEM_TEXTURE_HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*) emu_frame_buffer);
215217
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
216218
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
217219

@@ -222,13 +224,13 @@ static void init_ogl_debug(void)
222224
{
223225
glGenTextures(1, &ogl_renderer_emu_debug_huc6270_background[0]);
224226
glBindTexture(GL_TEXTURE_2D, ogl_renderer_emu_debug_huc6270_background[0]);
225-
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, HUC6270_MAX_BACKGROUND_WIDTH, HUC6270_MAX_BACKGROUND_HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)emu_debug_background_buffer[0]);
227+
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, HUC6270_MAX_BACKGROUND_WIDTH, HUC6270_MAX_BACKGROUND_HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)emu_debug_background_buffer[0]);
226228
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
227229
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
228230

229231
glGenTextures(1, &ogl_renderer_emu_debug_huc6270_background[1]);
230232
glBindTexture(GL_TEXTURE_2D, ogl_renderer_emu_debug_huc6270_background[1]);
231-
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, HUC6270_MAX_BACKGROUND_WIDTH, HUC6270_MAX_BACKGROUND_HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)emu_debug_background_buffer[1]);
233+
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, HUC6270_MAX_BACKGROUND_WIDTH, HUC6270_MAX_BACKGROUND_HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)emu_debug_background_buffer[1]);
232234
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
233235
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
234236

@@ -237,7 +239,7 @@ static void init_ogl_debug(void)
237239
{
238240
glGenTextures(1, &ogl_renderer_emu_debug_huc6270_sprites[i][s]);
239241
glBindTexture(GL_TEXTURE_2D, ogl_renderer_emu_debug_huc6270_sprites[i][s]);
240-
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 64, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)emu_debug_sprite_buffers[i][s]);
242+
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 32, 64, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)emu_debug_sprite_buffers[i][s]);
241243
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
242244
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
243245
}
@@ -246,7 +248,7 @@ static void init_ogl_debug(void)
246248
{
247249
glGenTextures(1, &ogl_renderer_emu_debug_huc6270_tiles[i]);
248250
glBindTexture(GL_TEXTURE_2D, ogl_renderer_emu_debug_huc6270_tiles[i]);
249-
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32 * 8, 64 * 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)emu_debug_tiles_buffer[i]);
251+
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 32 * 8, 64 * 8, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)emu_debug_tiles_buffer[i]);
250252
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
251253
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
252254
}
@@ -256,7 +258,7 @@ static void init_ogl_savestates(void)
256258
{
257259
glGenTextures(1, &ogl_renderer_emu_savestates);
258260
glBindTexture(GL_TEXTURE_2D, ogl_renderer_emu_savestates);
259-
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2048, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)NULL);
261+
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 2048, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)NULL);
260262
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
261263
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
262264
}
@@ -265,7 +267,7 @@ static void init_scanlines_texture(void)
265267
{
266268
glGenTextures(1, &scanlines_texture);
267269
glBindTexture(GL_TEXTURE_2D, scanlines_texture);
268-
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, (GLvoid*) scanlines);
270+
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 4, 4, 0, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, (GLvoid*) scanlines);
269271
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
270272
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
271273
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);

0 commit comments

Comments
 (0)