Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(924)

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 472443002: Use GL_LINEAR for backing texture of offscreen framebuffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" 5 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <list> 10 #include <list>
(...skipping 2001 matching lines...) Expand 10 before | Expand all | Expand 10 after
2012 // destroyed. 2012 // destroyed.
2013 DCHECK_EQ(id_, 0u); 2013 DCHECK_EQ(id_, 0u);
2014 } 2014 }
2015 2015
2016 void BackTexture::Create() { 2016 void BackTexture::Create() {
2017 ScopedGLErrorSuppressor suppressor("BackTexture::Create", 2017 ScopedGLErrorSuppressor suppressor("BackTexture::Create",
2018 state_->GetErrorState()); 2018 state_->GetErrorState());
2019 Destroy(); 2019 Destroy();
2020 glGenTextures(1, &id_); 2020 glGenTextures(1, &id_);
2021 ScopedTextureBinder binder(state_, id_, GL_TEXTURE_2D); 2021 ScopedTextureBinder binder(state_, id_, GL_TEXTURE_2D);
2022 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); 2022 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
2023 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); 2023 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
2024 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); 2024 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
2025 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 2025 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
2026 2026
2027 // TODO(apatrick): Attempt to diagnose crbug.com/97775. If SwapBuffers is 2027 // TODO(apatrick): Attempt to diagnose crbug.com/97775. If SwapBuffers is
2028 // never called on an offscreen context, no data will ever be uploaded to the 2028 // never called on an offscreen context, no data will ever be uploaded to the
2029 // saved offscreen color texture (it is deferred until to when SwapBuffers 2029 // saved offscreen color texture (it is deferred until to when SwapBuffers
2030 // is called). My idea is that some nvidia drivers might have a bug where 2030 // is called). My idea is that some nvidia drivers might have a bug where
2031 // deleting a texture that has never been populated might cause a 2031 // deleting a texture that has never been populated might cause a
2032 // crash. 2032 // crash.
2033 glTexImage2D( 2033 glTexImage2D(
(...skipping 1252 matching lines...) Expand 10 before | Expand all | Expand 10 after
3286 1, // depth 3286 1, // depth
3287 0, // border 3287 0, // border
3288 GL_RGBA, 3288 GL_RGBA,
3289 GL_UNSIGNED_BYTE, 3289 GL_UNSIGNED_BYTE,
3290 true); 3290 true);
3291 texture_manager()->SetParameteri( 3291 texture_manager()->SetParameteri(
3292 "UpdateParentTextureInfo", 3292 "UpdateParentTextureInfo",
3293 GetErrorState(), 3293 GetErrorState(),
3294 offscreen_saved_color_texture_info_.get(), 3294 offscreen_saved_color_texture_info_.get(),
3295 GL_TEXTURE_MAG_FILTER, 3295 GL_TEXTURE_MAG_FILTER,
3296 GL_NEAREST); 3296 GL_LINEAR);
3297 texture_manager()->SetParameteri( 3297 texture_manager()->SetParameteri(
3298 "UpdateParentTextureInfo", 3298 "UpdateParentTextureInfo",
3299 GetErrorState(), 3299 GetErrorState(),
3300 offscreen_saved_color_texture_info_.get(), 3300 offscreen_saved_color_texture_info_.get(),
3301 GL_TEXTURE_MIN_FILTER, 3301 GL_TEXTURE_MIN_FILTER,
3302 GL_NEAREST); 3302 GL_LINEAR);
3303 texture_manager()->SetParameteri( 3303 texture_manager()->SetParameteri(
3304 "UpdateParentTextureInfo", 3304 "UpdateParentTextureInfo",
3305 GetErrorState(), 3305 GetErrorState(),
3306 offscreen_saved_color_texture_info_.get(), 3306 offscreen_saved_color_texture_info_.get(),
3307 GL_TEXTURE_WRAP_S, 3307 GL_TEXTURE_WRAP_S,
3308 GL_CLAMP_TO_EDGE); 3308 GL_CLAMP_TO_EDGE);
3309 texture_manager()->SetParameteri( 3309 texture_manager()->SetParameteri(
3310 "UpdateParentTextureInfo", 3310 "UpdateParentTextureInfo",
3311 GetErrorState(), 3311 GetErrorState(),
3312 offscreen_saved_color_texture_info_.get(), 3312 offscreen_saved_color_texture_info_.get(),
(...skipping 7617 matching lines...) Expand 10 before | Expand all | Expand 10 after
10930 } 10930 }
10931 } 10931 }
10932 10932
10933 // Include the auto-generated part of this file. We split this because it means 10933 // Include the auto-generated part of this file. We split this because it means
10934 // we can easily edit the non-auto generated parts right here in this file 10934 // we can easily edit the non-auto generated parts right here in this file
10935 // instead of having to edit some template or the code generator. 10935 // instead of having to edit some template or the code generator.
10936 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h" 10936 #include "gpu/command_buffer/service/gles2_cmd_decoder_autogen.h"
10937 10937
10938 } // namespace gles2 10938 } // namespace gles2
10939 } // namespace gpu 10939 } // namespace gpu
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698