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

Unified Diff: cc/resources/resource_provider.cc

Issue 2121043002: 16 bpp video stream capture, render and WebGL usage - Realsense R200 & SR300 support. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: WebGL video to texture support and readPixels from R16UI for CPU access Created 4 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 side-by-side diff with in-line comments
Download patch
Index: cc/resources/resource_provider.cc
diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
index 19b9e926cc093a11eaf30208bdbfbb7bb09c0e50..864a03f2e1de91873d4800e574be1365491a4e43 100644
--- a/cc/resources/resource_provider.cc
+++ b/cc/resources/resource_provider.cc
@@ -91,6 +91,7 @@ GLenum TextureToStorageFormat(ResourceFormat format) {
case ETC1:
case RED_8:
case LUMINANCE_F16:
+ case RG_88:
NOTREACHED();
break;
}
@@ -111,6 +112,7 @@ bool IsFormatSupportedForStorage(ResourceFormat format, bool use_bgra) {
case ETC1:
case RED_8:
case LUMINANCE_F16:
+ case RG_88:
return false;
}
return false;
@@ -445,6 +447,12 @@ ResourceProvider::ResourceProvider(
use_texture_usage_hint_ = caps.texture_usage;
use_compressed_texture_etc1_ = caps.texture_format_etc1;
yuv_resource_format_ = caps.texture_rg ? RED_8 : LUMINANCE_8;
+ y16_resource_format_ = caps.texture_rg ? RG_88 : LUMINANCE_8;
+ // TODO(astojilj): Temporary code for performance and power consumption
+ // measurement.
+ // Uncomment following lines to use F16 for Y16.
+ // y16_resource_format_ = caps.texture_half_float_linear ? LUMINANCE_F16 :
+ // LUMINANCE_8;
Ken Russell (switch to Gerrit) 2016/08/16 00:22:26 Does this really use a luminance texture containin
aleksandar.stojiljkovic 2016/08/16 12:02:31 It doesn't. I just reused YUV path for the prototy
aleksandar.stojiljkovic 2016/09/20 12:22:54 If software planes (shared memory) are used, the c
yuv_highbit_resource_format_ = yuv_resource_format_;
if (caps.texture_half_float_linear)
yuv_highbit_resource_format_ = LUMINANCE_F16;
@@ -516,6 +524,8 @@ bool ResourceProvider::IsResourceFormatSupported(ResourceFormat format) const {
return caps.texture_rg;
case LUMINANCE_F16:
return caps.texture_half_float_linear;
+ case RG_88:
+ return caps.texture_rg;
}
NOTREACHED();
@@ -547,6 +557,14 @@ ResourceFormat ResourceProvider::YuvResourceFormat(int bits) const {
}
}
+ResourceFormat ResourceProvider::Y16ResourceFormat(int bits) const {
+ if (bits > 8) {
+ return y16_resource_format_;
+ } else {
+ return yuv_resource_format_;
+ }
+}
+
ResourceId ResourceProvider::CreateResource(const gfx::Size& size,
TextureHint hint,
ResourceFormat format) {

Powered by Google App Engine
This is Rietveld 408576698