Commit Graph

12 Commits

Author SHA1 Message Date
Stephen White
96d9a07a90 Update Dawn to ToT.
Separate out generation of cpp headers.

Change-Id: I4b3e14dcf7f31a4587fc2de48d79455e98bbf53c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248935
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-17 19:16:09 +00:00
Stephen White
fbffb99bb6 Dawn: build libdawn-native as a static lib, not shared.
Also clean up the main BUILD.gn file to use deps instead of public_deps
where possible.

Change-Id: I2cc7719e42ae70be9181bdb02a1995cd2c780672
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249177
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-17 15:04:14 +00:00
Stephen White
36446f281c Reformat BUILD files.
Change-Id: Iee2f376f7270200b5732726e9c6a3015b0cd4139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248928
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-10-16 14:52:47 +00:00
Stephen White
1e2adcf428 Roll Dawn to ToT.
This requires some changes to dawnSetProcs() and some build file changes.

Change-Id: I8a643ec0690857d53db7c1f8f5223077e30f69e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248860
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2019-10-16 14:19:14 +00:00
Stephen White
20c626aa23 Update Dawn backend to ToT. This is about 3 months of changes.
Remove optional param to SetIndexBuffer().
Update SetVertexBuffers -> SetVertexBuffer.
PipelineStageDescriptor -> ProgrammableStageDescriptor.
Update past generator changes, ring buffer changes, etc.
Add ErrorScopeTracker.cpp/.h to the build.
Add Vulkan MemoryResourceAllocator files.
Fix vertexShader ShaderStageDescriptor.
Fix spirv-cross include path.
TextureUsageBit -> TextureUsage, etc.
DawnErrorCallback fixes.
Removal of texture.CreateDefaultView.
Fix GL supported_extesions mumbo jumbo.
Update past ChromeOS change.
Add PassResourceUsageTracker.cpp/.h to build.
Add GLFormat.cpp/.h to build.
Add Extensions and Toggles to the build.
Add EncodingContext, AttachmentState to build.
Add RenderEncoderBase to Dawn build.
gn format dawn BUILD.gn, spirv-cross BUILD.gn.

Change-Id: I26538d63c93668647048814aad6ad456ae323679
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248261
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2019-10-15 22:26:38 +00:00
Mike Klein
ccc311dcee reformat .gn files
find . -name \*.gn | xargs -n 1 bin/gn format

Change-Id: I38f1da62f792226a228a3f820df6eea0c2e8623c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/244736
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-09-26 21:39:29 +00:00
Stephen White
b288c8dcc8 gn format third_party/dawn/BUILD.gn.
Change-Id: Idf163572eedac0b434fbe49ddb8bd8e5b4ca0adb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237519
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-08-27 21:01:20 +00:00
Stephen White
d36dc302b9 Dawn: use Skia's copy of vulkan headers.
Remove use of Dawn's third_party vulkan headers and the BUILD.gn file
it rode in on.

Change-Id: Ibfb6f063cae291445e19a15d42e96279be072376
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237448
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-08-27 17:05:46 +00:00
Stephen White
15d0a26fc4 Add spirv-cross to DEPS.
Extract the appropriate parts of Dawn's third_party BUILD.gn for it, and
put them in their own BUILD.gn.

Change-Id: Iedfc11321ca5366499dfc8a1759d8aa08eb78931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237442
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-08-27 16:40:23 +00:00
Stephen White
c445c7d5c8 Dawn: Remove spirv-tools and spirv-headers rules from Dawn build files.
Use Skia's copies in //third_party/externals/ instead.

Change-Id: I9cddb1d1268033fcc6f345b147495820bc1d308b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237439
Commit-Queue: Stephen White <senorblanco@chromium.org>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-08-27 15:25:21 +00:00
Stephen White
3e45e128eb Update to Dawn ToT.
Switch to Dawn's version of dawn_generator.gni. This depends on having
a file called build_overrides/dawn.gni. However, this will also enable
us to use the upstream Dawn BUILD.gn files more easily in the future.
This required adding it to compile.isolate, so the bots can pick it up.

Keeping up with Dawn:
Rename TextureFormat enums.
Rename dawn::BufferUsageBit::TransferDst -> CopyDst.
Removal of GLAD dependency.
SPIRV-Tools update.

Change-Id: Idcd5d1035ed106485dd2503b829e3c3b57a5688b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228568
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2019-07-22 16:20:36 +00:00
Stephen White
0d70b716ca Add first Dawn dependencies.
Add Dawn repo to DEPS.
Add skia_use_dawn flag to BUILD.gn (default false).
Add Metal.framework for Mac when building for Dawn/Metal.
Add d3d12, dxgi, d3dcompiler libs when building for Dawn/D3D12.
Disable SPIRV validation when building for Dawn.
Add BUILD.gn for dawn and dawn/third_party libraries.

(Note that I had to split the declare_args() section of BUILD.gn
into two, so that I could refer to skia_use_dawn in skia_enable_spirv_validation.
If there's a better way to do this, I'm open to suggestions.)

Change-Id: I9bdaf990694f6b8bcce6b77c1a8b1620a7396e34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225137
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-07-10 21:21:17 +00:00