Changeset 242972 in webkit
- Timestamp:
- Mar 14, 2019 3:26:52 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 deleted
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r242956 r242972 481 481 Modules/webgpu/GPUStoreOp.idl 482 482 Modules/webgpu/GPUTextureDescriptor.idl 483 Modules/webgpu/GPUTextureDimension.idl484 483 Modules/webgpu/GPUTextureFormat.idl 485 484 Modules/webgpu/GPUTextureUsage.idl -
trunk/Source/WebCore/ChangeLog
r242970 r242972 1 2019-03-14 Justin Fan <justin_fan@apple.com> 2 3 [Web GPU] Enum cleanup 4 https://bugs.webkit.org/show_bug.cgi?id=195766 5 6 Reviewed by Myles C. Maxfield. 7 8 Clean up enum implementations in Web GPU. Enums referenced by only one class now share implementation files with that class to reduce clutter. 9 10 No change in behavior. 11 12 * DerivedSources.make: 13 * Modules/webgpu/GPUBindGroupLayoutBinding.h: 14 * Modules/webgpu/GPUBindGroupLayoutBinding.idl: 15 * Modules/webgpu/GPUInputStateDescriptor.idl: 16 * Modules/webgpu/GPURequestAdapterOptions.idl: 17 * Modules/webgpu/GPUSamplerDescriptor.idl: 18 * Modules/webgpu/GPUTextureDescriptor.idl: 19 * Modules/webgpu/GPUTextureDimension.idl: Removed. 20 * Modules/webgpu/GPUVertexAttributeDescriptor.idl: 21 * Modules/webgpu/GPUVertexInputDescriptor.idl: 22 * Modules/webgpu/WebGPUBindGroupDescriptor.cpp: 23 (WebCore::validateBufferBindingType): 24 * Modules/webgpu/WebGPURenderPipelineDescriptor.h: 25 * Modules/webgpu/WebGPURenderPipelineDescriptor.idl: 26 * Sources.txt: 27 * WebCore.xcodeproj/project.pbxproj: 28 * platform/graphics/gpu/GPUInputStateDescriptor.h: 29 * platform/graphics/gpu/GPURequestAdapterOptions.h: 30 * platform/graphics/gpu/GPUSamplerDescriptor.h: 31 * platform/graphics/gpu/GPUTextureDescriptor.h: 32 * platform/graphics/gpu/GPUTextureDimension.h: Removed. 33 * platform/graphics/gpu/GPUVertexAttributeDescriptor.h: 34 * platform/graphics/gpu/GPUVertexInputDescriptor.h: 35 * platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm: 36 (WebCore::MTLDataTypeForBindingType): 37 * platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm: 38 (WebCore::GPUBindGroup::tryCreate): 39 * platform/graphics/gpu/cocoa/GPUDeviceMetal.mm: 40 (WebCore::GPUDevice::create): 41 * platform/graphics/gpu/cocoa/GPUSamplerMetal.mm: 42 (WebCore::mtlAddressModeForAddressMode): 43 (WebCore::mtlMinMagFilterForFilterMode): 44 (WebCore::mtlMipFilterForFilterMode): 45 1 46 2019-03-14 Said Abou-Hallawa <sabouhallawa@apple.com> 2 47 -
trunk/Source/WebCore/DerivedSources.make
r242956 r242972 391 391 $(WebCore)/Modules/webgpu/GPUStoreOp.idl \ 392 392 $(WebCore)/Modules/webgpu/GPUTextureDescriptor.idl \ 393 $(WebCore)/Modules/webgpu/GPUTextureDimension.idl \394 393 $(WebCore)/Modules/webgpu/GPUTextureFormat.idl \ 395 394 $(WebCore)/Modules/webgpu/GPUTextureUsage.idl \ -
trunk/Source/WebCore/Modules/webgpu/GPUBindGroupLayoutBinding.h
r242575 r242972 32 32 namespace WebCore { 33 33 34 enum class GPUBindingType { 35 UniformBuffer, 36 DynamicUniformBuffer, 37 Sampler, 38 SampledTexture, 39 StorageBuffer, 40 DynamicStorageBuffer, 41 }; 42 34 43 struct GPUBindGroupLayoutBinding { 35 enum class BindingType {36 UniformBuffer,37 DynamicUniformBuffer,38 Sampler,39 SampledTexture,40 StorageBuffer,41 DynamicStorageBuffer42 };43 44 44 unsigned long binding; 45 45 GPUShaderStageFlags visibility; 46 BindingType type;46 GPUBindingType type; 47 47 }; 48 48 -
trunk/Source/WebCore/Modules/webgpu/GPUBindGroupLayoutBinding.idl
r242575 r242972 29 29 30 30 [ 31 Conditional=WEBGPU, 32 EnabledAtRuntime=WebGPU 31 ImplementedAs=GPUBindingType 33 32 ] enum GPUBindingType { 34 33 "uniform-buffer", -
trunk/Source/WebCore/Modules/webgpu/GPUInputStateDescriptor.idl
r242839 r242972 27 27 typedef unsigned long u32; 28 28 29 enum GPUIndexFormat { 29 [ 30 ImplementedAs=GPUIndexFormat 31 ] enum GPUIndexFormat { 30 32 "uint16", 31 33 "uint32" -
trunk/Source/WebCore/Modules/webgpu/GPURequestAdapterOptions.idl
r240807 r242972 25 25 // https://github.com/gpuweb/gpuweb/blob/master/design/sketch.webidl 26 26 27 enum GPUPowerPreference { 27 [ 28 ImplementedAs=GPUPowerPreference 29 ] enum GPUPowerPreference { 28 30 "low-power", 29 31 "high-performance" -
trunk/Source/WebCore/Modules/webgpu/GPUSamplerDescriptor.idl
r242619 r242972 27 27 typedef unsigned long u32; 28 28 29 enum GPUAddressMode { 29 [ 30 ImplementedAs=GPUAddressMode 31 ] enum GPUAddressMode { 30 32 "clamp-to-edge", 31 33 "repeat", … … 33 35 }; 34 36 35 enum GPUFilterMode { 37 [ 38 ImplementedAs=GPUFilterMode 39 ] enum GPUFilterMode { 36 40 "nearest", 37 41 "linear" -
trunk/Source/WebCore/Modules/webgpu/GPUTextureDescriptor.idl
r242759 r242972 29 29 30 30 [ 31 ImplementedAs=GPUTextureDimension 32 ] enum GPUTextureDimension { 33 "1d", 34 "2d", 35 "3d" 36 }; 37 38 [ 31 39 Conditional=WEBGPU, 32 40 EnabledAtRuntime=WebGPU -
trunk/Source/WebCore/Modules/webgpu/GPUVertexAttributeDescriptor.idl
r242839 r242972 28 28 typedef unsigned long long u64; 29 29 30 enum GPUVertexFormat { 30 [ 31 ImplementedAs=GPUVertexFormat 32 ] enum GPUVertexFormat { 31 33 "float", 32 34 "float2", -
trunk/Source/WebCore/Modules/webgpu/GPUVertexInputDescriptor.idl
r242839 r242972 28 28 typedef unsigned long long u64; 29 29 30 enum GPUInputStepMode { 30 [ 31 ImplementedAs=GPUInputStepMode 32 ] enum GPUInputStepMode { 31 33 "vertex", 32 34 "instance" -
trunk/Source/WebCore/Modules/webgpu/WebGPUBindGroupDescriptor.cpp
r242839 r242972 43 43 44 44 switch (binding.type) { 45 case GPUBind GroupLayoutBinding::BindingType::UniformBuffer:45 case GPUBindingType::UniformBuffer: 46 46 if (!buffer->isUniform()) { 47 47 LOG(WebGPU, "%s: GPUBuffer resource for binding %lu does not have UNIFORM usage!", functionName, binding.binding); … … 49 49 } 50 50 return true; 51 case GPUBind GroupLayoutBinding::BindingType::StorageBuffer:51 case GPUBindingType::StorageBuffer: 52 52 if (!buffer->isStorage()) { 53 53 LOG(WebGPU, "%s: GPUBuffer resource for binding %lu does not have STORAGE usage!", functionName, binding.binding); -
trunk/Source/WebCore/Modules/webgpu/WebGPURenderPipelineDescriptor.h
r242839 r242972 36 36 37 37 struct WebGPURenderPipelineDescriptor : WebGPUPipelineDescriptorBase, GPURenderPipelineDescriptorBase { 38 using GPUPrimitiveTopology = GPUPrimitiveTopology;39 using GPUColorStateDescriptor = GPUColorStateDescriptor;40 41 38 Optional<GPURenderPipelineDescriptor> tryCreateGPURenderPipelineDescriptor() const; 42 39 -
trunk/Source/WebCore/Modules/webgpu/WebGPURenderPipelineDescriptor.idl
r242839 r242972 25 25 // https://github.com/gpuweb/gpuweb/blob/master/design/sketch.webidl 26 26 27 enum GPUPrimitiveTopology { 27 [ 28 ImplementedAs=GPUPrimitiveTopology 29 ] enum GPUPrimitiveTopology { 28 30 "point-list", 29 31 "line-list", -
trunk/Source/WebCore/Sources.txt
r242956 r242972 2797 2797 JSGPUStoreOp.cpp 2798 2798 JSGPUTextureDescriptor.cpp 2799 JSGPUTextureDimension.cpp2800 2799 JSGPUTextureFormat.cpp 2801 2800 JSGPUTextureUsage.cpp -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r242956 r242972 14002 14002 D026F483220A472F00AC5F49 /* GPUTextureUsage.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureUsage.idl; sourceTree = "<group>"; }; 14003 14003 D026F485220A477200AC5F49 /* GPUTextureUsage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureUsage.h; sourceTree = "<group>"; }; 14004 D026F486220A505900AC5F49 /* GPUTextureDimension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureDimension.h; sourceTree = "<group>"; };14005 D026F489220A539800AC5F49 /* GPUTextureDimension.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureDimension.idl; sourceTree = "<group>"; };14006 14004 D026F48B220A5B0B00AC5F49 /* GPUTextureDescriptor.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = GPUTextureDescriptor.idl; sourceTree = "<group>"; }; 14007 14005 D026F48C220A5BAD00AC5F49 /* GPUTextureDescriptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GPUTextureDescriptor.h; sourceTree = "<group>"; }; … … 18548 18546 312FF8C521A4C2F400EB199D /* GPUTexture.h */, 18549 18547 D026F48C220A5BAD00AC5F49 /* GPUTextureDescriptor.h */, 18550 D026F486220A505900AC5F49 /* GPUTextureDimension.h */,18551 18548 312FF8C321A4C2F300EB199D /* GPUTextureFormat.h */, 18552 18549 D026F485220A477200AC5F49 /* GPUTextureUsage.h */, … … 26150 26147 D0ADB27F2232F17300A22935 /* GPUSwapChainDescriptor.h */, 26151 26148 D026F48B220A5B0B00AC5F49 /* GPUTextureDescriptor.idl */, 26152 D026F489220A539800AC5F49 /* GPUTextureDimension.idl */,26153 26149 D0EACFAE219E30FD000FA75C /* GPUTextureFormat.idl */, 26154 26150 D026F483220A472F00AC5F49 /* GPUTextureUsage.idl */, -
trunk/Source/WebCore/platform/graphics/gpu/GPUInputStateDescriptor.h
r242839 r242972 40 40 41 41 struct GPUInputStateDescriptor { 42 using IndexFormat = GPUIndexFormat; 43 44 IndexFormat indexFormat; 42 GPUIndexFormat indexFormat; 45 43 46 44 Vector<GPUVertexAttributeDescriptor> attributes; -
trunk/Source/WebCore/platform/graphics/gpu/GPURequestAdapterOptions.h
r240807 r242972 30 30 namespace WebCore { 31 31 32 enum class GPUPowerPreference { 33 LowPower, 34 HighPerformance 35 }; 36 32 37 struct GPURequestAdapterOptions { 33 enum class PowerPreference { 34 LowPower, 35 HighPerformance 36 }; 37 38 PowerPreference powerPreference; 38 GPUPowerPreference powerPreference; 39 39 }; 40 40 -
trunk/Source/WebCore/platform/graphics/gpu/GPUSamplerDescriptor.h
r242619 r242972 32 32 namespace WebCore { 33 33 34 enum class GPUAddressMode { 35 ClampToEdge, 36 Repeat, 37 MirrorRepeat, 38 }; 39 40 enum class GPUFilterMode { 41 Nearest, 42 Linear, 43 }; 44 34 45 struct GPUSamplerDescriptor { 35 enum class AddressMode { 36 ClampToEdge, 37 Repeat, 38 MirrorRepeat, 39 }; 40 41 enum class FilterMode { 42 Nearest, 43 Linear, 44 }; 45 46 AddressMode addressModeU { AddressMode::ClampToEdge }; 47 AddressMode addressModeV { AddressMode::ClampToEdge }; 48 AddressMode addressModeW { AddressMode::ClampToEdge }; 49 FilterMode magFilter { FilterMode::Nearest }; 50 FilterMode minFilter { FilterMode::Nearest }; 51 FilterMode mipmapFilter { FilterMode::Nearest }; 46 GPUAddressMode addressModeU { GPUAddressMode::ClampToEdge }; 47 GPUAddressMode addressModeV { GPUAddressMode::ClampToEdge }; 48 GPUAddressMode addressModeW { GPUAddressMode::ClampToEdge }; 49 GPUFilterMode magFilter { GPUFilterMode::Nearest }; 50 GPUFilterMode minFilter { GPUFilterMode::Nearest }; 51 GPUFilterMode mipmapFilter { GPUFilterMode::Nearest }; 52 52 float lodMinClamp { 0 }; 53 53 float lodMaxClamp { 0xffffffff }; -
trunk/Source/WebCore/platform/graphics/gpu/GPUTextureDescriptor.h
r241048 r242972 29 29 30 30 #include "GPUExtent3D.h" 31 #include "GPUTextureDimension.h"32 31 #include "GPUTextureFormat.h" 33 32 #include "GPUTextureUsage.h" 34 33 35 34 namespace WebCore { 35 36 enum class GPUTextureDimension { 37 _1d, 38 _2d, 39 _3d 40 }; 36 41 37 42 struct GPUTextureDescriptor { -
trunk/Source/WebCore/platform/graphics/gpu/GPUVertexAttributeDescriptor.h
r242839 r242972 40 40 41 41 struct GPUVertexAttributeDescriptor { 42 using Format = GPUVertexFormat;43 44 42 unsigned shaderLocation; 45 43 unsigned inputSlot; 46 44 unsigned long offset; 47 Format format;45 GPUVertexFormat format; 48 46 }; 49 47 -
trunk/Source/WebCore/platform/graphics/gpu/GPUVertexInputDescriptor.h
r242839 r242972 36 36 37 37 struct GPUVertexInputDescriptor { 38 using InputStepMode = GPUInputStepMode;39 40 38 unsigned inputSlot; 41 39 unsigned long stride; 42 InputStepMode stepMode;40 GPUInputStepMode stepMode; 43 41 }; 44 42 -
trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm
r242766 r242972 38 38 namespace WebCore { 39 39 40 static MTLDataType MTLDataTypeForBindingType(GPUBind GroupLayoutBinding::BindingType type)40 static MTLDataType MTLDataTypeForBindingType(GPUBindingType type) 41 41 { 42 42 switch (type) { 43 case GPUBind GroupLayoutBinding::BindingType::Sampler:43 case GPUBindingType::Sampler: 44 44 return MTLDataTypeSampler; 45 case GPUBind GroupLayoutBinding::BindingType::SampledTexture:45 case GPUBindingType::SampledTexture: 46 46 return MTLDataTypeTexture; 47 case GPUBind GroupLayoutBinding::BindingType::UniformBuffer:48 case GPUBind GroupLayoutBinding::BindingType::DynamicUniformBuffer:49 case GPUBind GroupLayoutBinding::BindingType::StorageBuffer:50 case GPUBind GroupLayoutBinding::BindingType::DynamicStorageBuffer:47 case GPUBindingType::UniformBuffer: 48 case GPUBindingType::DynamicUniformBuffer: 49 case GPUBindingType::StorageBuffer: 50 case GPUBindingType::DynamicStorageBuffer: 51 51 return MTLDataTypePointer; 52 52 } -
trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm
r242766 r242972 173 173 switch (layoutBinding.type) { 174 174 // FIXME: Support more resource types. 175 case GPUBind GroupLayoutBinding::BindingType::UniformBuffer:176 case GPUBind GroupLayoutBinding::BindingType::StorageBuffer: {175 case GPUBindingType::UniformBuffer: 176 case GPUBindingType::StorageBuffer: { 177 177 auto bufferResource = tryGetResourceAsBufferBinding(resourceBinding.resource, functionName); 178 178 if (!bufferResource) … … 185 185 break; 186 186 } 187 case GPUBind GroupLayoutBinding::BindingType::Sampler: {187 case GPUBindingType::Sampler: { 188 188 auto samplerResource = tryGetResourceAsSampler(resourceBinding.resource, functionName); 189 189 if (!samplerResource) … … 195 195 break; 196 196 } 197 case GPUBind GroupLayoutBinding::BindingType::SampledTexture: {197 case GPUBindingType::SampledTexture: { 198 198 auto textureResource = tryGetResourceAsTexture(resourceBinding.resource, functionName); 199 199 if (!textureResource) -
trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUDeviceMetal.mm
r242575 r242972 44 44 45 45 #if PLATFORM(MAC) 46 if (options && options->powerPreference == GPU RequestAdapterOptions::PowerPreference::LowPower) {46 if (options && options->powerPreference == GPUPowerPreference::LowPower) { 47 47 auto devices = adoptNS(MTLCopyAllDevices()); 48 48 -
trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUSamplerMetal.mm
r242619 r242972 38 38 namespace WebCore { 39 39 40 static MTLSamplerAddressMode mtlAddressModeForAddressMode(GPU SamplerDescriptor::AddressMode mode)40 static MTLSamplerAddressMode mtlAddressModeForAddressMode(GPUAddressMode mode) 41 41 { 42 42 switch (mode) { 43 case GPU SamplerDescriptor::AddressMode::ClampToEdge:43 case GPUAddressMode::ClampToEdge: 44 44 return MTLSamplerAddressModeClampToEdge; 45 case GPU SamplerDescriptor::AddressMode::Repeat:45 case GPUAddressMode::Repeat: 46 46 return MTLSamplerAddressModeRepeat; 47 case GPU SamplerDescriptor::AddressMode::MirrorRepeat:47 case GPUAddressMode::MirrorRepeat: 48 48 return MTLSamplerAddressModeMirrorRepeat; 49 49 } … … 52 52 } 53 53 54 static MTLSamplerMinMagFilter mtlMinMagFilterForFilterMode(GPU SamplerDescriptor::FilterMode mode)54 static MTLSamplerMinMagFilter mtlMinMagFilterForFilterMode(GPUFilterMode mode) 55 55 { 56 56 switch (mode) { 57 case GPU SamplerDescriptor::FilterMode::Nearest:57 case GPUFilterMode::Nearest: 58 58 return MTLSamplerMinMagFilterNearest; 59 case GPU SamplerDescriptor::FilterMode::Linear:59 case GPUFilterMode::Linear: 60 60 return MTLSamplerMinMagFilterLinear; 61 61 } … … 64 64 } 65 65 66 static MTLSamplerMipFilter mtlMipFilterForFilterMode(GPU SamplerDescriptor::FilterMode mode)66 static MTLSamplerMipFilter mtlMipFilterForFilterMode(GPUFilterMode mode) 67 67 { 68 68 switch (mode) { 69 case GPU SamplerDescriptor::FilterMode::Nearest:69 case GPUFilterMode::Nearest: 70 70 return MTLSamplerMipFilterNearest; 71 case GPU SamplerDescriptor::FilterMode::Linear:71 case GPUFilterMode::Linear: 72 72 return MTLSamplerMipFilterLinear; 73 73 }
Note: See TracChangeset
for help on using the changeset viewer.