Changeset 213684 in webkit
- Timestamp:
- Mar 9, 2017 4:00:41 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r213682 r213684 1 2017-03-09 Dean Jackson <dino@apple.com> 2 3 WebGPU: Backend - Buffers 4 https://bugs.webkit.org/show_bug.cgi?id=169451 5 <rdar://problem/30959168> 6 7 Reviewed by Tim Horton. 8 9 Implement the backend for GPUBuffer, which 10 represents a chunk of memory that can be used 11 by the GPU. You create one using an ArrayBufferView. 12 13 WebKit API Test: GPUBuffer.mm 14 15 * PlatformMac.cmake: 16 * WebCore.xcodeproj/project.pbxproj: 17 * platform/graphics/cocoa/GPUBufferMetal.mm: 18 (WebCore::GPUBuffer::GPUBuffer): 19 (WebCore::GPUBuffer::length): 20 (WebCore::GPUBuffer::contents): 21 (WebCore::GPUBuffer::platformBuffer): 22 * platform/graphics/gpu/GPUBuffer.cpp: 23 (WebCore::GPUBuffer::create): 24 (WebCore::GPUBuffer::~GPUBuffer): 25 (WebCore::GPUBuffer::length): 26 (WebCore::GPUBuffer::contents): 27 * platform/graphics/gpu/GPUBuffer.h: 28 * platform/graphics/gpu/GPUDevice.cpp: 29 (WebCore::GPUDevice::createBufferFromData): 30 * platform/graphics/gpu/GPUDevice.h: 31 1 32 2017-03-09 Joseph Pecoraro <pecoraro@apple.com> 2 33 -
trunk/Source/WebCore/PlatformMac.cmake
r213671 r213684 420 420 platform/graphics/cg/TransformationMatrixCG.cpp 421 421 422 platform/graphics/cocoa/GPUBufferMetal.mm 422 423 platform/graphics/cocoa/GPUDeviceMetal.mm 423 424 platform/graphics/cocoa/GPUFunctionMetal.mm … … 436 437 platform/graphics/cv/VideoTextureCopierCV.cpp 437 438 439 platform/graphics/gpu/GPUBuffer.cpp 438 440 platform/graphics/gpu/GPUDevice.cpp 439 441 platform/graphics/gpu/GPUFunction.cpp -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r213673 r213684 1372 1372 316BDB9B1E70CBBF00DE0D5A /* GPULibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 316BDB991E70CBBF00DE0D5A /* GPULibrary.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1373 1373 316BDB9E1E70CD9000DE0D5A /* GPULibraryMetal.mm in Sources */ = {isa = PBXBuildFile; fileRef = 316BDB9C1E70CD9000DE0D5A /* GPULibraryMetal.mm */; }; 1374 316BDBA61E71FA6F00DE0D5A /* GPUBufferMetal.mm in Sources */ = {isa = PBXBuildFile; fileRef = 316BDBA51E71FA6F00DE0D5A /* GPUBufferMetal.mm */; }; 1375 316BDBA91E71FA9300DE0D5A /* GPUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316BDBA71E71FA9300DE0D5A /* GPUBuffer.cpp */; }; 1376 316BDBAA1E71FA9300DE0D5A /* GPUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 316BDBA81E71FA9300DE0D5A /* GPUBuffer.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1374 1377 316FE0710E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 316FE06D0E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp */; }; 1375 1378 316FE0720E6CCBEE00BF6088 /* JSCSSKeyframeRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 316FE06E0E6CCBEE00BF6088 /* JSCSSKeyframeRule.h */; }; … … 8734 8737 316BDB991E70CBBF00DE0D5A /* GPULibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GPULibrary.h; sourceTree = "<group>"; }; 8735 8738 316BDB9C1E70CD9000DE0D5A /* GPULibraryMetal.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GPULibraryMetal.mm; sourceTree = "<group>"; }; 8739 316BDBA51E71FA6F00DE0D5A /* GPUBufferMetal.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GPUBufferMetal.mm; sourceTree = "<group>"; }; 8740 316BDBA71E71FA9300DE0D5A /* GPUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GPUBuffer.cpp; sourceTree = "<group>"; }; 8741 316BDBA81E71FA9300DE0D5A /* GPUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GPUBuffer.h; sourceTree = "<group>"; }; 8736 8742 316FE06D0E6CCBEE00BF6088 /* JSCSSKeyframeRule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSKeyframeRule.cpp; sourceTree = "<group>"; }; 8737 8743 316FE06E0E6CCBEE00BF6088 /* JSCSSKeyframeRule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCSSKeyframeRule.h; sourceTree = "<group>"; }; … … 17550 17556 isa = PBXGroup; 17551 17557 children = ( 17558 316BDBA71E71FA9300DE0D5A /* GPUBuffer.cpp */, 17559 316BDBA81E71FA9300DE0D5A /* GPUBuffer.h */, 17552 17560 316BDB841E6E0A2100DE0D5A /* GPUDevice.cpp */, 17553 17561 316BDB851E6E0A2100DE0D5A /* GPUDevice.h */, … … 22647 22655 7C4EDD731A7B607800198C4D /* FontCocoa.mm */, 22648 22656 B5320D6A122A24E9002D1440 /* FontPlatformDataCocoa.mm */, 22657 316BDBA51E71FA6F00DE0D5A /* GPUBufferMetal.mm */, 22649 22658 316BDB881E6E141C00DE0D5A /* GPUDeviceMetal.mm */, 22650 22659 316BDB961E70CA2400DE0D5A /* GPUFunctionMetal.mm */, … … 27921 27930 A80E6CFB0A1989CA007FB8C5 /* Pair.h in Headers */, 27922 27931 FD3160A312B026F700C1A359 /* Panner.h in Headers */, 27932 316BDBAA1E71FA9300DE0D5A /* GPUBuffer.h in Headers */, 27923 27933 FD31601A12B0267600C1A359 /* PannerNode.h in Headers */, 27924 27934 A18890AF1AA13F250026C301 /* ParentalControlsContentFilter.h in Headers */, … … 30707 30717 1AE96A8E1D1A0DDD00B86768 /* JSApplePaySession.cpp in Sources */, 30708 30718 1AE96A901D1A0DDD00B86768 /* JSApplePayShippingContactSelectedEvent.cpp in Sources */, 30719 316BDBA61E71FA6F00DE0D5A /* GPUBufferMetal.mm in Sources */, 30709 30720 7C6579F31E00856600E3A27A /* JSApplePayShippingMethod.cpp in Sources */, 30710 30721 1AE96A921D1A0DDD00B86768 /* JSApplePayShippingMethodSelectedEvent.cpp in Sources */, … … 31319 31330 B2FA3DFA0AB75A6F000E5AC4 /* JSSVGStyleElement.cpp in Sources */, 31320 31331 B2FA3DFC0AB75A6F000E5AC4 /* JSSVGSVGElement.cpp in Sources */, 31332 316BDBA91E71FA9300DE0D5A /* GPUBuffer.cpp in Sources */, 31321 31333 B2FA3DFE0AB75A6F000E5AC4 /* JSSVGSwitchElement.cpp in Sources */, 31322 31334 B2FA3E000AB75A6F000E5AC4 /* JSSVGSymbolElement.cpp in Sources */, -
trunk/Source/WebCore/platform/graphics/cocoa/GPUBufferMetal.mm
r213683 r213684 25 25 26 26 #include "config.h" 27 #include "GPU Device.h"27 #include "GPUBuffer.h" 28 28 29 29 #if ENABLE(WEBGPU) 30 30 31 #include "GPULibrary.h" 32 #include "Logging.h" 31 #import "GPUDevice.h" 32 #import "Logging.h" 33 34 #import <Metal/Metal.h> 33 35 34 36 namespace WebCore { 35 37 36 RefPtr<GPUDevice> GPUDevice::create()38 GPUBuffer::GPUBuffer(GPUDevice* device, ArrayBufferView* data) 37 39 { 38 RefPtr<GPUDevice> device = adoptRef(new GPUDevice());40 LOG(WebGPU, "GPUBuffer::GPUBuffer()"); 39 41 40 #if PLATFORM(COCOA) 41 if (!device->platformDevice()) { 42 LOG(WebGPU, "GPUDevice::create() was unable to create the low-level device"); 43 return nullptr; 44 } 45 #endif 42 if (!device || !device->platformDevice() || !data) 43 return; 46 44 47 LOG(WebGPU, "GPUDevice::create() device is %p", device.get()); 48 return device; 45 m_buffer = (MTLBuffer*)[device->platformDevice() newBufferWithBytes:data->baseAddress() length:data->byteLength() options:MTLResourceOptionCPUCacheModeDefault]; 49 46 } 50 47 51 GPUDevice::~GPUDevice() 48 unsigned long GPUBuffer::length() const 52 49 { 53 LOG(WebGPU, "GPUDevice::~GPUDevice()"); 50 if (!m_buffer) 51 return 0; 52 53 return [m_buffer length]; 54 54 } 55 55 56 RefPtr< GPULibrary> GPUDevice::createLibrary(const String& sourceCode)56 RefPtr<ArrayBuffer> GPUBuffer::contents() 57 57 { 58 return GPULibrary::create(this, sourceCode); 58 if (m_contents) 59 return m_contents; 60 61 if (!m_buffer) 62 return nullptr; 63 64 m_contents = ArrayBuffer::createFromBytes([m_buffer contents], [m_buffer length], [] (void*) { }); 65 return m_contents; 59 66 } 60 67 61 #if !PLATFORM(COCOA) 62 63 GPUDevice::GPUDevice() 68 MTLBuffer* GPUBuffer::platformBuffer() 64 69 { 65 70 return m_buffer.get(); 66 71 } 67 68 void GPUDevice::reshape(int, int)69 {70 }71 72 #endif73 72 74 73 } // namespace WebCore -
trunk/Source/WebCore/platform/graphics/cocoa/GPULibraryMetal.mm
r213650 r213684 1 1 /* 2 * Copyright (C) 201 5Apple Inc. All rights reserved.2 * Copyright (C) 2017 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without -
trunk/Source/WebCore/platform/graphics/gpu/GPUBuffer.cpp
r213683 r213684 25 25 26 26 #include "config.h" 27 #include "GPU Device.h"27 #include "GPUBuffer.h" 28 28 29 29 #if ENABLE(WEBGPU) 30 30 31 #i nclude "GPULibrary.h"32 #i nclude"Logging.h"31 #import "GPUDevice.h" 32 #import "Logging.h" 33 33 34 34 namespace WebCore { 35 35 36 RefPtr<GPU Device> GPUDevice::create()36 RefPtr<GPUBuffer> GPUBuffer::create(GPUDevice* device, ArrayBufferView* arrayBuffer) 37 37 { 38 RefPtr<GPUDevice> device = adoptRef(new GPUDevice()); 39 40 #if PLATFORM(COCOA) 41 if (!device->platformDevice()) { 42 LOG(WebGPU, "GPUDevice::create() was unable to create the low-level device"); 43 return nullptr; 44 } 45 #endif 46 47 LOG(WebGPU, "GPUDevice::create() device is %p", device.get()); 48 return device; 38 RefPtr<GPUBuffer> buffer = adoptRef(new GPUBuffer(device, arrayBuffer)); 39 return buffer; 49 40 } 50 41 51 GPU Device::~GPUDevice()42 GPUBuffer::~GPUBuffer() 52 43 { 53 LOG(WebGPU, "GPUDevice::~GPUDevice()"); 54 } 55 56 RefPtr<GPULibrary> GPUDevice::createLibrary(const String& sourceCode) 57 { 58 return GPULibrary::create(this, sourceCode); 44 LOG(WebGPU, "GPUBuffer::~GPUBuffer()"); 59 45 } 60 46 61 47 #if !PLATFORM(COCOA) 62 63 GPUDevice::GPUDevice() 48 unsigned long GPUBuffer::length() const 64 49 { 65 50 return 0; 66 51 } 67 52 68 void GPUDevice::reshape(int, int)53 RefPtr<ArrayBuffer> GPUBuffer::contents() 69 54 { 55 if (m_contents) 56 return m_contents; 57 58 m_contents = ArrayBuffer::create(0, 1); 59 return m_contents; 70 60 } 71 72 61 #endif 73 62 -
trunk/Source/WebCore/platform/graphics/gpu/GPUBuffer.h
r213683 r213684 24 24 */ 25 25 26 #include "config.h" 27 #include "GPUDevice.h" 26 #pragma once 28 27 29 28 #if ENABLE(WEBGPU) 30 29 31 #include "GPULibrary.h" 32 #include "Logging.h" 30 #include <runtime/ArrayBufferView.h> 31 #include <wtf/RefPtr.h> 32 #include <wtf/RetainPtr.h> 33 34 #if PLATFORM(COCOA) 35 OBJC_CLASS MTLBuffer; 36 #endif 33 37 34 38 namespace WebCore { 35 39 36 RefPtr<GPUDevice> GPUDevice::create() 37 { 38 RefPtr<GPUDevice> device = adoptRef(new GPUDevice()); 40 class GPUDevice; 41 42 class GPUBuffer : public RefCounted<GPUBuffer> { 43 public: 44 static RefPtr<GPUBuffer> create(GPUDevice*, ArrayBufferView*); 45 WEBCORE_EXPORT ~GPUBuffer(); 46 47 WEBCORE_EXPORT unsigned long length() const; 48 WEBCORE_EXPORT RefPtr<ArrayBuffer> contents(); 39 49 40 50 #if PLATFORM(COCOA) 41 if (!device->platformDevice()) { 42 LOG(WebGPU, "GPUDevice::create() was unable to create the low-level device"); 43 return nullptr; 44 } 51 WEBCORE_EXPORT MTLBuffer* platformBuffer(); 45 52 #endif 46 53 47 LOG(WebGPU, "GPUDevice::create() device is %p", device.get()); 48 return device; 49 } 50 51 GPUDevice::~GPUDevice() 52 { 53 LOG(WebGPU, "GPUDevice::~GPUDevice()"); 54 } 55 56 RefPtr<GPULibrary> GPUDevice::createLibrary(const String& sourceCode) 57 { 58 return GPULibrary::create(this, sourceCode); 59 } 60 61 #if !PLATFORM(COCOA) 62 63 GPUDevice::GPUDevice() 64 { 65 66 } 67 68 void GPUDevice::reshape(int, int) 69 { 70 } 71 54 private: 55 GPUBuffer(GPUDevice*, ArrayBufferView*); 56 57 #if PLATFORM(COCOA) 58 RetainPtr<MTLBuffer> m_buffer; 72 59 #endif 73 60 RefPtr<ArrayBuffer> m_contents; 61 }; 62 74 63 } // namespace WebCore 75 76 64 #endif -
trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.cpp
r213650 r213684 29 29 #if ENABLE(WEBGPU) 30 30 31 #include "GPUBuffer.h" 31 32 #include "GPULibrary.h" 32 33 #include "Logging.h" … … 59 60 } 60 61 62 RefPtr<GPUBuffer> GPUDevice::createBufferFromData(ArrayBufferView* data) 63 { 64 return GPUBuffer::create(this, data); 65 } 66 61 67 #if !PLATFORM(COCOA) 62 68 -
trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.h
r213650 r213684 47 47 namespace WebCore { 48 48 49 class GPUBuffer; 49 50 class GPULibrary; 50 51 … … 64 65 65 66 WEBCORE_EXPORT RefPtr<GPULibrary> createLibrary(const String& sourceCode); 67 WEBCORE_EXPORT RefPtr<GPUBuffer> createBufferFromData(ArrayBufferView* data); 66 68 67 69 private: -
trunk/Tools/ChangeLog
r213676 r213684 1 2017-03-09 Dean Jackson <dino@apple.com> 2 3 WebGPU: Backend - Buffers 4 https://bugs.webkit.org/show_bug.cgi?id=169451 5 <rdar://problem/30959168> 6 7 Reviewed by Tim Horton. 8 9 Test for GPUBuffer object. 10 11 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 12 * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm: Added. 13 (TestWebKitAPI::TEST_F): 14 * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm: 15 * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm: 16 1 17 2017-03-09 Daniel Bates <dabates@apple.com> 2 18 -
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
r213650 r213684 97 97 316BDBA11E70D71B00DE0D5A /* GPULibrary.mm in Sources */ = {isa = PBXBuildFile; fileRef = 316BDBA01E70D6D800DE0D5A /* GPULibrary.mm */; }; 98 98 316BDBA41E70EF6800DE0D5A /* GPUFunction.mm in Sources */ = {isa = PBXBuildFile; fileRef = 316BDBA31E70EF5D00DE0D5A /* GPUFunction.mm */; }; 99 316BDBAC1E7207F100DE0D5A /* GPUBuffer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 316BDBAB1E7207F100DE0D5A /* GPUBuffer.mm */; }; 99 100 33BE5AF9137B5AAE00705813 /* MouseMoveAfterCrash_Bundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33BE5AF8137B5AAE00705813 /* MouseMoveAfterCrash_Bundle.cpp */; }; 100 101 33DC8912141955FE00747EF7 /* simple-iframe.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 33DC890E1419539300747EF7 /* simple-iframe.html */; }; … … 954 955 316BDBA21E70DEE500DE0D5A /* GPUTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GPUTest.h; sourceTree = "<group>"; }; 955 956 316BDBA31E70EF5D00DE0D5A /* GPUFunction.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GPUFunction.mm; sourceTree = "<group>"; }; 957 316BDBAB1E7207F100DE0D5A /* GPUBuffer.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = GPUBuffer.mm; sourceTree = "<group>"; }; 956 958 333B9CE11277F23100FEFCE3 /* PreventEmptyUserAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PreventEmptyUserAgent.cpp; sourceTree = "<group>"; }; 957 959 33BE5AF4137B5A6C00705813 /* MouseMoveAfterCrash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MouseMoveAfterCrash.cpp; sourceTree = "<group>"; }; … … 1671 1673 isa = PBXGroup; 1672 1674 children = ( 1675 316BDBAB1E7207F100DE0D5A /* GPUBuffer.mm */, 1673 1676 3162AE9B1E6F2FCE000E4DBC /* GPUDevice.mm */, 1674 1677 316BDBA31E70EF5D00DE0D5A /* GPUFunction.mm */, … … 2799 2802 7CCE7EA61A411A0F00447C4C /* PlatformUtilitiesMac.mm in Sources */, 2800 2803 7CCE7EA71A411A1300447C4C /* PlatformWebViewMac.mm in Sources */, 2804 316BDBAC1E7207F100DE0D5A /* GPUBuffer.mm in Sources */, 2801 2805 7CCE7F261A411AF600447C4C /* Preferences.mm in Sources */, 2802 2806 7A909A821D877480007E10F8 /* IntRect.cpp in Sources */, -
trunk/Tools/TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm
r213683 r213684 29 29 30 30 #import "GPUTest.h" 31 #import <JavaScriptCore/ArrayBuffer.h> 32 #import <JavaScriptCore/ArrayBufferView.h> 33 #import <JavaScriptCore/GenericTypedArrayViewInlines.h> 34 #import <JavaScriptCore/JSCInlines.h> 35 #import <JavaScriptCore/JSGenericTypedArrayViewInlines.h> 36 #import <JavaScriptCore/TypedArrays.h> 31 37 #import <Metal/Metal.h> 38 #import <WebCore/GPUBuffer.h> 32 39 #import <WebCore/GPUDevice.h> 33 #import <WebCore/GPULibrary.h>34 #import <wtf/MainThread.h>35 40 36 41 using namespace WebCore; … … 38 43 namespace TestWebKitAPI { 39 44 40 TEST_F(GPU, LibraryCreate)45 TEST_F(GPU, BufferCreate) 41 46 { 42 47 auto device = GPUDevice::create(); … … 50 55 EXPECT_NOT_NULL(mtlDevice); 51 56 52 auto library = device->createLibrary(librarySourceCode()); 53 EXPECT_NOT_NULL(library); 54 } 57 auto bufferView = JSC::Uint8Array::create(1024); 55 58 56 TEST_F(GPU, LibrarySetLabel) 57 { 58 auto device = GPUDevice::create(); 59 if (!device) 60 return; 59 uint8_t* data = bufferView->data(); 60 memset(data, 1, bufferView->byteLength()); 61 61 62 auto library = device->createLibrary(librarySourceCode()); 63 EXPECT_NOT_NULL(library); 62 auto buffer = device->createBufferFromData(bufferView.get()); 63 EXPECT_NOT_NULL(buffer); 64 EXPECT_EQ(buffer->length(), static_cast<unsigned long>(1024)); 64 65 65 library->setLabel("TestLabel");66 EXPECT_ TRUE(library->label() == "TestLabel");67 } 66 auto contents = buffer->contents(); 67 EXPECT_NOT_NULL(contents); 68 EXPECT_EQ(contents->byteLength(), static_cast<unsigned long>(1024)); 68 69 69 TEST_F(GPU, LibraryFunctionNames) 70 { 71 auto device = GPUDevice::create();72 if (!device)73 return;70 uint8_t* contentsData = static_cast<uint8_t*>(contents->data()); 71 EXPECT_NE(contentsData, data); 72 EXPECT_EQ(contentsData[0], 1); 73 EXPECT_EQ(contentsData[512], 1); 74 EXPECT_EQ(contentsData[1023], 1); 74 75 75 auto library = device->createLibrary(librarySourceCode());76 EXPECT_NOT_NULL( library);76 MTLBuffer *mtlBuffer = buffer->platformBuffer(); 77 EXPECT_NOT_NULL(mtlBuffer); 77 78 78 auto functionNames = library->functionNames(); 79 EXPECT_EQ(functionNames.size(), static_cast<unsigned long>(2)); 80 EXPECT_TRUE(functionNames[0] == "vertex_main"); 81 EXPECT_TRUE(functionNames[1] == "fragment_main"); 79 82 80 } 83 81 -
trunk/Tools/TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm
r213650 r213684 34 34 #import <WebCore/GPUFunction.h> 35 35 #import <WebCore/GPULibrary.h> 36 #import <wtf/MainThread.h>37 36 38 37 using namespace WebCore; -
trunk/Tools/TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm
r213650 r213684 32 32 #import <WebCore/GPUDevice.h> 33 33 #import <WebCore/GPULibrary.h> 34 #import <wtf/MainThread.h>35 34 36 35 using namespace WebCore;
Note: See TracChangeset
for help on using the changeset viewer.