dawn-cmake/src/common
Ken Rockot ebf183bde4 Implement drawIndexedIndirect validation
Every render pass which invokes DrawIndexedIndirect, either directly or
through a RenderBundle execution, is now preceded immediately by at
least one validation pass.

All indirect buffer offests used with DII are validated, and their
validated values are copied into a separate scratch buffer (or zeroed
out there, in the case of validation failure). All encoded DII commands
are rewritten to use the validated parameters instead of the original
ones.

Bug: dawn:809
Change-Id: I5eead937f19536f84f89e2c8e6fed7f18f0aee9f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/63461
Commit-Queue: Ken Rockot <rockot@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-09-23 00:15:19 +00:00
..
Alloc.h IWYU: add missing include for size_t 2021-01-11 08:20:02 +00:00
Assert.cpp fuzzing: When fuzzing, always ASSERT, and abort() instead of SIGTRAP 2019-12-19 16:07:58 +00:00
Assert.h Rename NXT -> Dawn in the comments 2018-07-18 22:54:06 +02:00
BUILD.gn Force -Wno-shadow to avoid variable shadowing warnings. 2021-09-21 18:08:10 +00:00
BitSetIterator.h Triage Dawn TODOs 2021-06-04 22:23:56 +00:00
CMakeLists.txt Fix CMake build on macOS 2021-08-16 15:32:52 +00:00
Compiler.h Add support for multisampled sampling 2020-06-19 16:21:33 +00:00
Constants.h Add validation, storage, and querying of limits 2021-09-13 18:49:09 +00:00
CoreFoundationRef.h Use smart Refs for IOKit and CoreFoundation objects. 2020-11-17 11:35:11 +00:00
DynamicLib.cpp Add UWP support 2021-04-23 02:16:12 +00:00
DynamicLib.h Rename the copyright authors from NXT to Dawn 2018-07-18 22:54:06 +02:00
GPUInfo.cpp Use last 2 fields as Intel graphics driver build number 2021-07-23 06:48:00 +00:00
GPUInfo.h Extend Intel graphics driver version to 2 fields 2021-07-07 08:58:01 +00:00
HashUtils.h Fix MSVC compilation. 2020-07-08 18:50:30 +00:00
IOKitRef.h Use smart Refs for IOKit and CoreFoundation objects. 2020-11-17 11:35:11 +00:00
LinkedList.h Autoformat everything except tests/examples 2020-07-10 18:19:38 +00:00
Log.cpp Namespace Log.h/cpp in dawn:: 2019-12-06 18:21:39 +00:00
Log.h Namespace Log.h/cpp in dawn:: 2019-12-06 18:21:39 +00:00
Math.cpp Validate format is blendable when blending is enabled 2021-07-19 23:27:27 +00:00
Math.h Validate format is blendable when blending is enabled 2021-07-19 23:27:27 +00:00
NSRef.h Metal: Wrap NS classes and protocols in NSRef. 2020-11-16 23:07:56 +00:00
NonCopyable.h Implement drawIndexedIndirect validation 2021-09-23 00:15:19 +00:00
PlacementAllocated.h Add UWP support 2021-04-23 02:16:12 +00:00
Platform.h Add UWP support 2021-04-23 02:16:12 +00:00
Preprocessor.h Add utilities for printing Dawn enums and bitmasks 2021-06-01 18:49:12 +00:00
RefBase.h Fix compilation error when building with CMake and Clang 2021-06-28 20:20:50 +00:00
RefCounted.cpp dawn_native: Prefix all API methods with API 2021-03-29 14:02:05 +00:00
RefCounted.h dawn_native: Prefix all API methods with API 2021-03-29 14:02:05 +00:00
Result.cpp Add an implementation of Result<const T*, E*> 2019-07-17 19:01:50 +00:00
Result.h Use Ref<TextureBase> instead of TextureBase* in more places 2020-04-23 19:47:12 +00:00
SerialMap.h SerialQueue/Map: Take the serial type as type paramater. 2020-09-28 12:28:13 +00:00
SerialQueue.h SerialQueue/Map: Take the serial type as type paramater. 2020-09-28 12:28:13 +00:00
SerialStorage.h Fix MSVC build of SerialStorage.h. 2020-10-08 22:14:39 +00:00
SlabAllocator.cpp Triage Dawn TODOs 2021-06-04 22:23:56 +00:00
SlabAllocator.h Triage Dawn TODOs 2021-06-04 22:23:56 +00:00
StackContainer.h Remove usage of the UNIT_TEST macro. 2020-07-09 07:00:32 +00:00
SwapChainUtils.h Make dawn_native public headers and dawn_wsi use webgpu.h 2019-10-24 23:55:37 +00:00
SystemUtils.cpp Make common/ compile with Emscripten 2020-07-17 14:52:47 +00:00
SystemUtils.h Fix linker error with iOS build 2021-08-05 20:35:19 +00:00
SystemUtils_mac.mm Skip BufferZeroInitTests.ResolveQuerySet if not on MacOS 10 2021-07-21 18:34:19 +00:00
TypeTraits.h Add TypeTraits.h for Dawn's additional type traits. 2021-01-04 15:05:29 +00:00
TypedInteger.h Typeify VertexBufferSlot and VertexAttributeLocation 2020-09-17 19:07:00 +00:00
UnderlyingType.h Add TypedInteger 2020-06-17 22:35:19 +00:00
WindowsUtils.cpp Add string to wstring conversion helper and related unittest 2021-04-21 11:05:50 +00:00
WindowsUtils.h Add string to wstring conversion helper and related unittest 2021-04-21 11:05:50 +00:00
ityp_array.h ityp_array: Allow using a T whose underlying type is signed. 2021-01-20 20:01:08 +00:00
ityp_bitset.h Fix MSVC compilation. 2020-07-08 18:50:30 +00:00
ityp_span.h Add TypedInteger 2020-06-17 22:35:19 +00:00
ityp_stack_vec.h Add ityp::vector class and unittests 2020-07-14 01:32:43 +00:00
ityp_vector.h Add ityp::vector class and unittests 2020-07-14 01:32:43 +00:00
vulkan_platform.h Reland "Vulkan: Fallback to XCB for Xlib surfaces" 2021-02-11 08:26:38 +00:00
windows_with_undefs.h Add support for windows SwapChainPanel in SwapChain and Surface 2021-06-09 08:44:07 +00:00
xlib_with_undefs.h Reland "Vulkan: Fallback to XCB for Xlib surfaces" 2021-02-11 08:26:38 +00:00