| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "cc/resources/video_resource_updater.h" | 5 #include "cc/resources/video_resource_updater.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 TEST_F(VideoResourceUpdaterTest, SoftwareFrame) { | 246 TEST_F(VideoResourceUpdaterTest, SoftwareFrame) { |
| 247 VideoResourceUpdater updater(context_provider_.get(), | 247 VideoResourceUpdater updater(context_provider_.get(), |
| 248 resource_provider3d_.get()); | 248 resource_provider3d_.get()); |
| 249 scoped_refptr<media::VideoFrame> video_frame = CreateTestYUVVideoFrame(); | 249 scoped_refptr<media::VideoFrame> video_frame = CreateTestYUVVideoFrame(); |
| 250 | 250 |
| 251 VideoFrameExternalResources resources = | 251 VideoFrameExternalResources resources = |
| 252 updater.CreateExternalResourcesFromVideoFrame(video_frame); | 252 updater.CreateExternalResourcesFromVideoFrame(video_frame); |
| 253 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type); | 253 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type); |
| 254 } | 254 } |
| 255 | 255 |
| 256 TEST_F(VideoResourceUpdaterTest, HighBitFrameNoF16) { | 256 TEST_F(VideoResourceUpdaterTest, HighBitFrameNo16bitTexture) { |
| 257 VideoResourceUpdater updater(context_provider_.get(), | 257 VideoResourceUpdater updater(context_provider_.get(), |
| 258 resource_provider3d_.get()); | 258 resource_provider3d_.get()); |
| 259 scoped_refptr<media::VideoFrame> video_frame = CreateTestHighBitFrame(); | 259 scoped_refptr<media::VideoFrame> video_frame = CreateTestHighBitFrame(); |
| 260 | 260 |
| 261 VideoFrameExternalResources resources = | 261 VideoFrameExternalResources resources = |
| 262 updater.CreateExternalResourcesFromVideoFrame(video_frame); | 262 updater.CreateExternalResourcesFromVideoFrame(video_frame); |
| 263 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type); | 263 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type); |
| 264 } | 264 } |
| 265 | 265 |
| 266 class VideoResourceUpdaterTestWithF16 : public VideoResourceUpdaterTest { | 266 class VideoResourceUpdaterTestWithF16 : public VideoResourceUpdaterTest { |
| 267 public: | 267 public: |
| 268 VideoResourceUpdaterTestWithF16() : VideoResourceUpdaterTest() { | 268 VideoResourceUpdaterTestWithF16() : VideoResourceUpdaterTest() { |
| 269 context3d_->set_support_texture_half_float_linear(true); | 269 context3d_->set_support_texture_half_float_linear(true); |
| 270 } | 270 } |
| 271 }; | 271 }; |
| 272 | 272 |
| 273 TEST_F(VideoResourceUpdaterTestWithF16, HighBitFrame) { | 273 TEST_F(VideoResourceUpdaterTestWithF16, HighBitFrame) { |
| 274 VideoResourceUpdater updater(context_provider_.get(), | 274 VideoResourceUpdater updater(context_provider_.get(), |
| 275 resource_provider3d_.get()); | 275 resource_provider3d_.get()); |
| 276 scoped_refptr<media::VideoFrame> video_frame = CreateTestHighBitFrame(); | 276 scoped_refptr<media::VideoFrame> video_frame = CreateTestHighBitFrame(); |
| 277 | 277 |
| 278 VideoFrameExternalResources resources = | 278 VideoFrameExternalResources resources = |
| 279 updater.CreateExternalResourcesFromVideoFrame(video_frame); | 279 updater.CreateExternalResourcesFromVideoFrame(video_frame); |
| 280 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type); | 280 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type); |
| 281 } | 281 } |
| 282 | 282 |
| 283 class VideoResourceUpdaterTestWithRG : public VideoResourceUpdaterTest { |
| 284 public: |
| 285 VideoResourceUpdaterTestWithRG() : VideoResourceUpdaterTest() { |
| 286 context3d_->set_support_texture_rg(true); |
| 287 } |
| 288 }; |
| 289 |
| 290 TEST_F(VideoResourceUpdaterTestWithRG, HighBitFrame) { |
| 291 VideoResourceUpdater updater(context_provider_.get(), |
| 292 resource_provider3d_.get()); |
| 293 scoped_refptr<media::VideoFrame> video_frame = CreateTestHighBitFrame(); |
| 294 |
| 295 VideoFrameExternalResources resources = |
| 296 updater.CreateExternalResourcesFromVideoFrame(video_frame); |
| 297 EXPECT_EQ(VideoFrameExternalResources::YUV_RESOURCE, resources.type); |
| 298 } |
| 299 |
| 283 TEST_F(VideoResourceUpdaterTest, HighBitFrameSoftwareCompositor) { | 300 TEST_F(VideoResourceUpdaterTest, HighBitFrameSoftwareCompositor) { |
| 284 VideoResourceUpdater updater(nullptr, resource_provider_software_.get()); | 301 VideoResourceUpdater updater(nullptr, resource_provider_software_.get()); |
| 285 scoped_refptr<media::VideoFrame> video_frame = CreateTestHighBitFrame(); | 302 scoped_refptr<media::VideoFrame> video_frame = CreateTestHighBitFrame(); |
| 286 | 303 |
| 287 VideoFrameExternalResources resources = | 304 VideoFrameExternalResources resources = |
| 288 updater.CreateExternalResourcesFromVideoFrame(video_frame); | 305 updater.CreateExternalResourcesFromVideoFrame(video_frame); |
| 289 EXPECT_EQ(VideoFrameExternalResources::SOFTWARE_RESOURCE, resources.type); | 306 EXPECT_EQ(VideoFrameExternalResources::SOFTWARE_RESOURCE, resources.type); |
| 290 } | 307 } |
| 291 | 308 |
| 292 TEST_F(VideoResourceUpdaterTest, WonkySoftwareFrame) { | 309 TEST_F(VideoResourceUpdaterTest, WonkySoftwareFrame) { |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 499 // The texture copy path requires the use of CopyTextureCHROMIUM, which | 516 // The texture copy path requires the use of CopyTextureCHROMIUM, which |
| 500 // enforces that the target texture not be immutable, as it may need | 517 // enforces that the target texture not be immutable, as it may need |
| 501 // to alter the storage of the texture. Therefore, this test asserts | 518 // to alter the storage of the texture. Therefore, this test asserts |
| 502 // that an immutable texture wasn't created by glTexStorage2DEXT, when | 519 // that an immutable texture wasn't created by glTexStorage2DEXT, when |
| 503 // that extension is supported. | 520 // that extension is supported. |
| 504 EXPECT_FALSE(context3d_->WasImmutableTextureCreated()); | 521 EXPECT_FALSE(context3d_->WasImmutableTextureCreated()); |
| 505 } | 522 } |
| 506 | 523 |
| 507 } // namespace | 524 } // namespace |
| 508 } // namespace cc | 525 } // namespace cc |
| OLD | NEW |