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

Unified Diff: gpu/ipc/host/gpu_memory_buffer_support.cc

Issue 2585653003: gpu: Move buffer format to target texture map into gpu host. (Closed)
Patch Set: . Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/ipc/host/gpu_memory_buffer_support.h ('k') | ui/aura/mus/mus_context_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/ipc/host/gpu_memory_buffer_support.cc
diff --git a/gpu/ipc/host/gpu_memory_buffer_support.cc b/gpu/ipc/host/gpu_memory_buffer_support.cc
index 566a9a3a8522d2d2c605f2d0d700fab5366aaa4c..9c83048c77f74bd4c8f6bf3f129caf7f1c40322e 100644
--- a/gpu/ipc/host/gpu_memory_buffer_support.cc
+++ b/gpu/ipc/host/gpu_memory_buffer_support.cc
@@ -9,6 +9,7 @@
#include "build/build_config.h"
#include "gpu/ipc/common/gpu_memory_buffer_support.h"
#include "gpu/ipc/host/gpu_switches.h"
+#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_switches.h"
namespace gpu {
@@ -82,4 +83,32 @@ GpuMemoryBufferConfigurationSet GetNativeGpuMemoryBufferConfigurations() {
return configurations;
}
+uint32_t GetImageTextureTarget(gfx::BufferFormat format,
+ gfx::BufferUsage usage) {
+ GpuMemoryBufferConfigurationSet native_configurations =
+ GetNativeGpuMemoryBufferConfigurations();
+ if (native_configurations.find(std::make_pair(format, usage)) ==
+ native_configurations.end()) {
+ return GL_TEXTURE_2D;
+ }
+
+ switch (GetNativeGpuMemoryBufferType()) {
+ case gfx::OZONE_NATIVE_PIXMAP:
+ // GPU memory buffers that are shared with the GL using EGLImages
+ // require TEXTURE_EXTERNAL_OES.
+ return GL_TEXTURE_EXTERNAL_OES;
+ case gfx::IO_SURFACE_BUFFER:
+ // IOSurface backed images require GL_TEXTURE_RECTANGLE_ARB.
+ return GL_TEXTURE_RECTANGLE_ARB;
+ case gfx::SHARED_MEMORY_BUFFER:
+ return GL_TEXTURE_2D;
+ case gfx::EMPTY_BUFFER:
+ NOTREACHED();
+ return GL_TEXTURE_2D;
+ }
+
+ NOTREACHED();
+ return GL_TEXTURE_2D;
+}
+
} // namespace gpu
« no previous file with comments | « gpu/ipc/host/gpu_memory_buffer_support.h ('k') | ui/aura/mus/mus_context_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698