dawn-cmake/src/dawn_native
Corentin Wallez dbf805fe8d Update GetMappedRange to not produce validation errors
GetMappedRange never produces errors and instead returns nullptr when it
is disallowed. When in a correct state, should return a valid pointer as
much as possible, even if the buffer is an error or if the device is
lost.

Adds tests for error buffers and device loss, and modify existing tests
to not expect a device error.

Also removes some dead code in the Vulkan backend and adds a fix for
missing deallocation of VkMemory on device shutdown.

Bug: dawn:445

Change-Id: Ia844ee3493cdaf75083424743dd194fa94faf591
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24160
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-07-06 18:08:10 +00:00
..
d3d12 Check FP16 support on D3D backend 2020-07-06 08:28:00 +00:00
metal Implement buffer lazy initialization before writeBuffer 2020-07-06 08:24:30 +00:00
null Implement buffer lazy initialization before writeBuffer 2020-07-06 08:24:30 +00:00
opengl Implement buffer lazy initialization before writeBuffer 2020-07-06 08:24:30 +00:00
vulkan Update GetMappedRange to not produce validation errors 2020-07-06 18:08:10 +00:00
Adapter.cpp Add WGPUAdapterProperties and expose it in DawnNative 2020-01-10 13:28:18 +00:00
Adapter.h Add WGPUAdapterProperties and expose it in DawnNative 2020-01-10 13:28:18 +00:00
AttachmentState.cpp Only mark objects as cached right before inserting into the cache 2019-10-30 00:20:03 +00:00
AttachmentState.h Make RefCounted derived objects have private destructors 2020-04-06 18:20:02 +00:00
BUILD.gn Vulkan: handle Instance extensions more programmatically 2020-06-11 11:48:05 +00:00
BackendConnection.cpp Add WGPUAdapterProperties and expose it in DawnNative 2020-01-10 13:28:18 +00:00
BackendConnection.h Add WGPUAdapterProperties and expose it in DawnNative 2020-01-10 13:28:18 +00:00
BindGroup.cpp Added constraints for too large uniform buffer bindings 2020-06-30 18:49:20 +00:00
BindGroup.h Add minimum buffer size validation 2020-06-19 21:39:23 +00:00
BindGroupAndStorageBarrierTracker.h Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
BindGroupLayout.cpp Fix validation of multisampled BGL bindings 2020-06-23 00:22:24 +00:00
BindGroupLayout.h Add minimum buffer size validation 2020-06-19 21:39:23 +00:00
BindGroupTracker.h Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
BindingInfo.h Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
BuddyAllocator.cpp Fix two warnings. 2020-04-10 19:04:42 +00:00
BuddyAllocator.h Fix and enable -Wnested-anon-types 2020-04-30 15:58:28 +00:00
BuddyMemoryAllocator.cpp Prevent size overflow for sub-allocation. 2020-06-11 18:58:26 +00:00
BuddyMemoryAllocator.h Add some missing #includes. 2019-10-29 18:40:12 +00:00
Buffer.cpp Update GetMappedRange to not produce validation errors 2020-07-06 18:08:10 +00:00
Buffer.h Update GetMappedRange to not produce validation errors 2020-07-06 18:08:10 +00:00
CMakeLists.txt Vulkan: handle Instance extensions more programmatically 2020-06-11 11:48:05 +00:00
CachedObject.cpp Only mark objects as cached right before inserting into the cache 2019-10-30 00:20:03 +00:00
CachedObject.h Only mark objects as cached right before inserting into the cache 2019-10-30 00:20:03 +00:00
CommandAllocator.cpp Inline CommandAllocator/Iterator 2019-12-10 01:10:27 +00:00
CommandAllocator.h Inline CommandAllocator/Iterator 2019-12-10 01:10:27 +00:00
CommandBuffer.cpp Replace TextureCopyView::arrayLayer -> origin.z in backends 2020-06-26 11:07:00 +00:00
CommandBuffer.h Replace TextureCopyView::arrayLayer -> origin.z in backends 2020-06-26 11:07:00 +00:00
CommandBufferStateTracker.cpp Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
CommandBufferStateTracker.h Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
CommandEncoder.cpp Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
CommandEncoder.h Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
CommandValidation.cpp Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
CommandValidation.h Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
Commands.cpp Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
Commands.h Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
ComputePassEncoder.cpp Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
ComputePassEncoder.h Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
ComputePipeline.cpp Add minimum buffer size validation 2020-06-19 21:39:23 +00:00
ComputePipeline.h Only mark objects as cached right before inserting into the cache 2019-10-30 00:20:03 +00:00
DawnNative.cpp Refactor subresource related variables to a struct 2020-06-12 00:37:31 +00:00
Device.cpp Vulkan: Enable robust buffer access if validation is on 2020-07-01 21:37:57 +00:00
Device.h Vulkan: Enable robust buffer access if validation is on 2020-07-01 21:37:57 +00:00
DynamicUploader.cpp Limit heap growth when uploading with SetSubData. 2019-10-29 22:49:43 +00:00
DynamicUploader.h Limit heap growth when uploading with SetSubData. 2019-10-29 22:49:43 +00:00
EncodingContext.cpp Separate device lost from internal errors. 2020-04-01 12:07:43 +00:00
EncodingContext.h Separate device lost from internal errors. 2020-04-01 12:07:43 +00:00
Error.cpp Fix AssertAndIgnoreDeviceLossError to handle errors injected by fuzzer 2020-06-16 17:53:38 +00:00
Error.h Fix AssertAndIgnoreDeviceLossError to handle errors injected by fuzzer 2020-06-16 17:53:38 +00:00
ErrorData.cpp Separate device lost from internal errors. 2020-04-01 12:07:43 +00:00
ErrorData.h Separate device lost from internal errors. 2020-04-01 12:07:43 +00:00
ErrorInjector.cpp Reland "fuzzing: Add supportsErrorInjection option to DawnWireServerFuzzer" 2020-01-06 19:56:17 +00:00
ErrorInjector.h Reland "fuzzing: Add supportsErrorInjection option to DawnWireServerFuzzer" 2020-01-06 19:56:17 +00:00
ErrorScope.cpp Make error scope shutdown iterative instead of recursive. 2020-05-11 20:26:12 +00:00
ErrorScope.h Make error scope shutdown iterative instead of recursive. 2020-05-11 20:26:12 +00:00
ErrorScopeTracker.cpp Avoid processing already processed tick 2020-06-04 02:26:46 +00:00
ErrorScopeTracker.h Move and improve RefCounted 2020-04-20 17:36:22 +00:00
Extensions.cpp Reland "Check FP16 support on vulkan backend" 2020-06-08 12:18:21 +00:00
Extensions.h Reland "Check FP16 support on vulkan backend" 2020-06-08 12:18:21 +00:00
Fence.cpp Handle Device Lost for Fence and Queue::Signal 2020-02-06 00:56:35 +00:00
Fence.h Make RefCounted derived objects have private destructors 2020-04-06 18:20:02 +00:00
FenceSignalTracker.cpp Avoid processing already processed tick 2020-06-04 02:26:46 +00:00
FenceSignalTracker.h Move and improve RefCounted 2020-04-20 17:36:22 +00:00
Format.cpp Add depth texture sampling and tests for only depth32float 2020-04-22 19:54:00 +00:00
Format.h Merge BindGroupLayout and ShaderModule BindingInfos 2020-03-27 18:54:03 +00:00
Forward.h Query API: QuerySet 2020-06-11 00:34:14 +00:00
Instance.cpp Load Swiftshader Vulkan separately from the system Vulkan 2020-05-08 19:31:00 +00:00
Instance.h Load Swiftshader Vulkan separately from the system Vulkan 2020-05-08 19:31:00 +00:00
MapRequestTracker.cpp Avoid processing already processed tick 2020-06-04 02:26:46 +00:00
MapRequestTracker.h Refactor MapRequestTracker to be its own class file. 2020-05-19 01:29:32 +00:00
ObjectBase.cpp Make RefCounted derived objects have private destructors 2020-04-06 18:20:02 +00:00
ObjectBase.h Move and improve RefCounted 2020-04-20 17:36:22 +00:00
PassResourceUsage.h Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
PassResourceUsageTracker.cpp Fix a bug in PassResourceUsageTracker.cpp 2020-06-29 19:00:05 +00:00
PassResourceUsageTracker.h Add validation code for texture subresource usage tracking 2020-05-04 17:10:49 +00:00
PerStage.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
PerStage.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
Pipeline.cpp Changing pointers to Ref<> in GetOrCreateBGL 2020-07-01 13:09:46 +00:00
Pipeline.h Add minimum buffer size validation 2020-06-19 21:39:23 +00:00
PipelineLayout.cpp Changing pointers to Ref<> in GetOrCreateBGL 2020-07-01 13:09:46 +00:00
PipelineLayout.h Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
ProgrammablePassEncoder.cpp Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
ProgrammablePassEncoder.h Allow one texture as write-only storage and sampled in one compute pass 2020-04-22 00:55:43 +00:00
QuerySet.cpp Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
QuerySet.h Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
Queue.cpp Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
Queue.h Deprecate Buffer::SetSubData in favor of Queue::WriteBuffer 2020-06-02 09:24:39 +00:00
RenderBundle.cpp Remove the "Base" from pure-frontend dawn_native types 2019-11-13 17:00:37 +00:00
RenderBundle.h Make RefCounted derived objects have private destructors 2020-04-06 18:20:02 +00:00
RenderBundleEncoder.cpp BUILD.gn: enable additional warnings. 2020-04-08 16:04:32 +00:00
RenderBundleEncoder.h BUILD.gn: enable additional warnings. 2020-04-08 16:04:32 +00:00
RenderEncoderBase.cpp Add a size argument to Set[Vertex|Index]Buffer 2020-04-24 09:42:03 +00:00
RenderEncoderBase.h Add a size argument to Set[Vertex|Index]Buffer 2020-04-24 09:42:03 +00:00
RenderPassEncoder.cpp Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
RenderPassEncoder.h Query API: WriteTimestamp 2020-07-01 10:48:16 +00:00
RenderPipeline.cpp Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
RenderPipeline.h Remove the "Base" from pure-frontend dawn_native types 2019-11-13 17:00:37 +00:00
ResourceHeap.h Resource Management 7: Device memory sub-allocation using buddy allocator. 2019-10-03 18:17:31 +00:00
ResourceHeapAllocator.h Add another missing #include. 2019-10-30 00:19:43 +00:00
ResourceMemoryAllocation.cpp Resource Management 7: Device memory sub-allocation using buddy allocator. 2019-10-03 18:17:31 +00:00
ResourceMemoryAllocation.h Residency 2: Create a d3d12::Heap During Direct Allocations 2020-03-09 15:53:19 +00:00
RingBufferAllocator.cpp Correctly support setSubData of 0 bytes. 2020-04-16 09:51:26 +00:00
RingBufferAllocator.h Replace size_t with uint64_t in ringbuffer. 2019-10-18 16:19:00 +00:00
Sampler.cpp Reland "Add ComparisonSampler binding type and validation tests" 2020-04-20 23:43:20 +00:00
Sampler.h Reland "Add ComparisonSampler binding type and validation tests" 2020-04-20 23:43:20 +00:00
ShaderModule.cpp Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
ShaderModule.h Use TypedInteger for BindGroupIndex 2020-06-20 01:30:32 +00:00
StagingBuffer.cpp Memory manager: buffer uploads (D3D) - Part 1 2019-01-29 00:10:07 +00:00
StagingBuffer.h Memory manager: buffer uploads (D3D) - Part 1 2019-01-29 00:10:07 +00:00
Surface.cpp Normalize case X : {} break; to case X : { break;} 2020-04-02 16:45:17 +00:00
Surface.h Move and improve RefCounted 2020-04-20 17:36:22 +00:00
Surface_metal.mm Introduce wgpu::Surface and implement it for HWND, X11 and Metal 2020-01-15 13:14:12 +00:00
SwapChain.cpp Optimize subresource tracking - use texture view 2020-06-15 18:26:12 +00:00
SwapChain.h Optimize subresource tracking - use texture view 2020-06-15 18:26:12 +00:00
Texture.cpp Texture: Change to mArrayLayerCount to mSize.depth 2020-06-15 09:57:51 +00:00
Texture.h Texture: Change to mArrayLayerCount to mSize.depth 2020-06-15 09:57:51 +00:00
ToBackend.h Query API: QuerySet 2020-06-11 00:34:14 +00:00
Toggles.cpp Implement buffer lazy initialization before writeBuffer 2020-07-06 08:24:30 +00:00
Toggles.h Implement buffer lazy initialization before writeBuffer 2020-07-06 08:24:30 +00:00
dawn_platform.h NativeSwapChainImplVk: Remove unnecessary transition on Configure 2020-05-06 07:12:48 +00:00