Add Direct3D compile bots

Bug: skia:9935
Change-Id: I6d9c14ac674dee89a5a8ba726d99b4423c40eb9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274861
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This commit is contained in:
Jim Van Verth 2020-03-04 10:51:26 -05:00 committed by Skia Commit-Bot
parent eced98b5ea
commit 3a5974f68d
10 changed files with 451 additions and 32 deletions

View File

@ -31,7 +31,7 @@ class GrGLTextureParameters;
#endif
#ifdef SK_DIRECT3D
enum DXGI_FORMAT;
#include <dxgiformat.h>
#endif
#if GR_TEST_UTILS

View File

@ -110,12 +110,14 @@
"Build-Win-Clang-x86-Release",
"Build-Win-Clang-x86_64-Debug",
"Build-Win-Clang-x86_64-Debug-ANGLE",
"Build-Win-Clang-x86_64-Debug-Direct3D",
"Build-Win-Clang-x86_64-Debug-ASAN",
"Build-Win-Clang-x86_64-Debug-OpenCL",
"Build-Win-Clang-x86_64-Debug-Vulkan",
"Build-Win-Clang-x86_64-Debug-Wuffs",
"Build-Win-Clang-x86_64-Release",
"Build-Win-Clang-x86_64-Release-ANGLE",
"Build-Win-Clang-x86_64-Release-Direct3D",
"Build-Win-Clang-x86_64-Release-Shared",
"Build-Win-Clang-x86_64-Release-Dawn",
"Build-Win-Clang-x86_64-Release-Vulkan",
@ -126,9 +128,11 @@
"Build-Win-MSVC-x86-Debug",
"Build-Win-MSVC-x86-Release",
"Build-Win-MSVC-x86_64-Debug",
"Build-Win-MSVC-x86_64-Debug-Direct3D",
"Build-Win-MSVC-x86_64-Debug-Vulkan",
"Build-Win-MSVC-x86_64-Debug-Wuffs",
"Build-Win-MSVC-x86_64-Release",
"Build-Win-MSVC-x86_64-Release-Direct3D",
"Build-Win-MSVC-x86_64-Release-Shared",
"Build-Win-MSVC-x86_64-Release-Vulkan",
"BuildStats-Debian9-Clang-arm-Release-Flutter_Android",

View File

@ -269,6 +269,8 @@ def compile_fn(api, checkout_root, out_dir):
args['skia_enable_vulkan_debug_layers'] = 'true'
if 'MoltenVK' in extra_tokens:
args['skia_moltenvk_path'] = '"%s"' % moltenvk
if 'Direct3D' in extra_tokens:
args['skia_use_direct3d'] = 'true'
if 'Metal' in extra_tokens:
args['skia_use_metal'] = 'true'
if 'OpenCL' in extra_tokens:

View File

@ -0,0 +1,102 @@
[
{
"cmd": [
"vpython",
"-u",
"RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]\\cache\\work\\skia\\infra\\bots\\assets\\clang_win\\VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get clang_win VERSION",
"~followup_annotations": [
"@@@STEP_LOG_LINE@VERSION@42@@@",
"@@@STEP_LOG_END@VERSION@@@"
]
},
{
"cmd": [
"python",
"-u",
"[START_DIR]\\cache\\work\\skia\\bin\\fetch-gn"
],
"cwd": "[START_DIR]\\cache\\work\\skia",
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>;RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "fetch-gn"
},
{
"cmd": [
"[START_DIR]\\cache\\work\\skia\\bin\\gn",
"gen",
"[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Release-Direct3D\\Release_x64",
"--args=cc=\"clang\" clang_win=\"[START_DIR]\\clang_win\" cxx=\"clang++\" extra_cflags=[\"-DDUMMY_clang_win_version=42\"] is_debug=false skia_use_direct3d=true target_cpu=\"x86_64\" werror=true win_sdk=\"[START_DIR]\\win_toolchain/win_sdk\" win_vc=\"[START_DIR]\\win_toolchain/VC\""
],
"cwd": "[START_DIR]\\cache\\work\\skia",
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>;RECIPE_REPO[depot_tools]"
},
"name": "gn gen"
},
{
"cmd": [
"ninja",
"-C",
"[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Release-Direct3D\\Release_x64"
],
"cwd": "[START_DIR]\\cache\\work\\skia",
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>;RECIPE_REPO[depot_tools]"
},
"name": "ninja"
},
{
"cmd": [
"python",
"-u",
"import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n os.makedirs(dst)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\nfor pattern in build_products:\n path = os.path.join(src, pattern)\n for f in glob.glob(path):\n dst_path = os.path.join(dst, os.path.relpath(f, src))\n if not os.path.isdir(os.path.dirname(dst_path)):\n os.makedirs(os.path.dirname(dst_path))\n print 'Copying build product %s to %s' % (f, dst_path)\n shutil.move(f, dst_path)\n",
"[START_DIR]\\cache\\work\\skia\\out\\Build-Win-Clang-x86_64-Release-Direct3D\\Release_x64",
"[START_DIR]\\[SWARM_OUT_DIR]\\out\\Release_x64"
],
"infra_step": true,
"name": "copy build products",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import errno@@@",
"@@@STEP_LOG_LINE@python.inline@import glob@@@",
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@import shutil@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
"@@@STEP_LOG_LINE@python.inline@build_products = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@try:@@@",
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
"@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
"@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@for pattern in build_products:@@@",
"@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
"@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
"@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
"@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
"@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
"@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"name": "$result"
}
]

View File

@ -75,6 +75,7 @@ TEST_BUILDERS = [
'Build-Win-Clang-x86-Debug-Exceptions',
'Build-Win-Clang-x86_64-Debug-ANGLE',
'Build-Win-Clang-x86_64-Debug-OpenCL',
'Build-Win-Clang-x86_64-Release-Direct3D',
'Build-Win-Clang-x86_64-Release-Shared',
"Build-Win-Clang-x86_64-Release-Dawn",
'Build-Win-Clang-x86_64-Release-Vulkan',

View File

@ -566,6 +566,11 @@
"Build-Win-Clang-x86_64-Debug-ASAN"
]
},
"Build-Win-Clang-x86_64-Debug-Direct3D": {
"tasks": [
"Build-Win-Clang-x86_64-Debug-Direct3D"
]
},
"Build-Win-Clang-x86_64-Debug-OpenCL": {
"tasks": [
"Build-Win-Clang-x86_64-Debug-OpenCL"
@ -596,6 +601,11 @@
"Build-Win-Clang-x86_64-Release-Dawn"
]
},
"Build-Win-Clang-x86_64-Release-Direct3D": {
"tasks": [
"Build-Win-Clang-x86_64-Release-Direct3D"
]
},
"Build-Win-Clang-x86_64-Release-Shared": {
"tasks": [
"Build-Win-Clang-x86_64-Release-Shared"
@ -641,6 +651,11 @@
"Build-Win-MSVC-x86_64-Debug"
]
},
"Build-Win-MSVC-x86_64-Debug-Direct3D": {
"tasks": [
"Build-Win-MSVC-x86_64-Debug-Direct3D"
]
},
"Build-Win-MSVC-x86_64-Debug-Vulkan": {
"tasks": [
"Build-Win-MSVC-x86_64-Debug-Vulkan"
@ -656,6 +671,11 @@
"Build-Win-MSVC-x86_64-Release"
]
},
"Build-Win-MSVC-x86_64-Release-Direct3D": {
"tasks": [
"Build-Win-MSVC-x86_64-Release-Direct3D"
]
},
"Build-Win-MSVC-x86_64-Release-Shared": {
"tasks": [
"Build-Win-MSVC-x86_64-Release-Shared"
@ -11908,6 +11928,82 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Debug-Direct3D": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/3pp/tools/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.17.chromium.24"
},
{
"name": "skia/bots/clang_win",
"path": "clang_win",
"version": "version:14"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Win-Clang-x86_64-Debug-Direct3D\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"machine_type:n1-highcpu-64",
"os:Windows-Server-17763",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Debug-OpenCL": {
"caches": [
{
@ -12369,6 +12465,82 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Release-Direct3D": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/3pp/tools/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.17.chromium.24"
},
{
"name": "skia/bots/clang_win",
"path": "clang_win",
"version": "version:14"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Win-Clang-x86_64-Release-Direct3D\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"machine_type:n1-highcpu-64",
"os:Windows-Server-17763",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Release-Shared": {
"caches": [
{
@ -13018,6 +13190,77 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-MSVC-x86_64-Debug-Direct3D": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/3pp/tools/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.17.chromium.24"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Win-MSVC-x86_64-Debug-Direct3D\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"machine_type:n1-highcpu-64",
"os:Windows-Server-17763",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-MSVC-x86_64-Debug-Vulkan": {
"caches": [
{
@ -13231,6 +13474,77 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-MSVC-x86_64-Release-Direct3D": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:27f8448ba7ae1dd64574aefa41b762c3d22a42f4"
},
{
"name": "infra/3pp/tools/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.17.chromium.24"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Win-MSVC-x86_64-Release-Direct3D\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"machine_type:n1-highcpu-64",
"os:Windows-Server-17763",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-MSVC-x86_64-Release-Shared": {
"caches": [
{

View File

@ -70,22 +70,23 @@ void GrD3DCaps::init(const GrContextOptions& contextOptions, IDXGIAdapter1* adap
D3D12_FEATURE_DATA_FEATURE_LEVELS flDesc = {};
flDesc.NumFeatureLevels = _countof(featureLevels);
flDesc.pFeatureLevelsRequested = featureLevels;
HRESULT hr = device->CheckFeatureSupport(D3D12_FEATURE_FEATURE_LEVELS, &flDesc, sizeof(flDesc));
SkDEBUGCODE(HRESULT hr =) device->CheckFeatureSupport(D3D12_FEATURE_FEATURE_LEVELS, &flDesc,
sizeof(flDesc));
SkASSERT(SUCCEEDED(hr));
// This had better be true
SkASSERT(flDesc.MaxSupportedFeatureLevel >= D3D_FEATURE_LEVEL_11_0);
DXGI_ADAPTER_DESC adapterDesc;
hr = adapter->GetDesc(&adapterDesc);
SkDEBUGCODE(hr =) adapter->GetDesc(&adapterDesc);
SkASSERT(SUCCEEDED(hr));
D3D12_FEATURE_DATA_D3D12_OPTIONS optionsDesc;
hr = device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS, &optionsDesc,
SkDEBUGCODE(hr =) device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS, &optionsDesc,
sizeof(optionsDesc));
SkASSERT(SUCCEEDED(hr));
D3D12_FEATURE_DATA_D3D12_OPTIONS2 options2Desc;
hr = device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS2, &optionsDesc,
SkDEBUGCODE(hr =) device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS2, &optionsDesc,
sizeof(options2Desc));
SkASSERT(SUCCEEDED(hr));
@ -638,8 +639,8 @@ static bool multisample_count_supported(ID3D12Device* device, DXGI_FORMAT format
D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS msqLevels;
msqLevels.Format = format;
msqLevels.SampleCount = sampleCount;
HRESULT hr = device->CheckFeatureSupport(D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS, &msqLevels,
sizeof(msqLevels));
SkDEBUGCODE(HRESULT hr =) device->CheckFeatureSupport(D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS,
&msqLevels, sizeof(msqLevels));
SkASSERT(SUCCEEDED(hr));
return msqLevels.NumQualityLevels > 0;
@ -679,8 +680,9 @@ void GrD3DCaps::FormatInfo::init(const DXGI_ADAPTER_DESC& adapterDesc, ID3D12Dev
DXGI_FORMAT format) {
D3D12_FEATURE_DATA_FORMAT_SUPPORT formatSupportDesc;
formatSupportDesc.Format = format;
HRESULT hr = device->CheckFeatureSupport(D3D12_FEATURE_FORMAT_SUPPORT, &formatSupportDesc,
sizeof(formatSupportDesc));
SkDEBUGCODE(HRESULT hr =) device->CheckFeatureSupport(D3D12_FEATURE_FORMAT_SUPPORT,
&formatSupportDesc,
sizeof(formatSupportDesc));
SkASSERT(SUCCEEDED(hr));
InitFormatFlags(formatSupportDesc, &fFlags);
@ -915,13 +917,13 @@ GrBackendFormat GrD3DCaps::onGetDefaultBackendFormat(GrColorType ct,
GrBackendFormat GrD3DCaps::getBackendFormatFromCompressionType(
SkImage::CompressionType compressionType) const {
switch (compressionType) {
case SkImage::CompressionType::kNone:
return {};
case SkImage::CompressionType::kBC1_RGBA8_UNORM:
if (this->isFormatTexturable(DXGI_FORMAT_BC1_UNORM)) {
return GrBackendFormat::MakeDxgi(DXGI_FORMAT_BC1_UNORM);
}
return {};
case SkImage::CompressionType::kBC1_RGBA8_UNORM:
if (this->isFormatTexturable(DXGI_FORMAT_BC1_UNORM)) {
return GrBackendFormat::MakeDxgi(DXGI_FORMAT_BC1_UNORM);
}
return {};
default:
return {};
}
SkUNREACHABLE;

View File

@ -19,8 +19,7 @@ GrD3DGpu::GrD3DGpu(GrContext* context, const GrContextOptions& contextOptions,
const GrD3DBackendContext& backendContext)
: INHERITED(context)
, fDevice(backendContext.fDevice)
, fQueue(backendContext.fQueue)
, fProtectedContext(backendContext.fProtectedContext) {
, fQueue(backendContext.fQueue) {
fCaps.reset(new GrD3DCaps(contextOptions,
backendContext.fAdapter.Get(),
backendContext.fDevice.Get()));

View File

@ -170,8 +170,6 @@ private:
gr_cp<ID3D12Device> fDevice;
gr_cp<ID3D12CommandQueue> fQueue;
GrProtected fProtectedContext;
std::unique_ptr<GrD3DOpsRenderPass> fCachedOpsRenderPass;
typedef GrGpu INHERITED;

View File

@ -43,18 +43,15 @@ private:
const GrSurfaceProxy* const primProcTextures[]) override {
return true;
}
void onDraw(const GrBuffer* vertexBuffer, int vertexCount, int baseVertex) override {}
void onDrawIndexed(const GrBuffer* indexBuffer, int indexCount, int baseIndex,
GrPrimitiveRestart primitiveRestart, uint16_t minIndexValue,
uint16_t maxIndexValue, const GrBuffer* vertexBuffer,
int baseVertex) override {}
void onDrawInstanced(const GrBuffer* instanceBuffer, int instanceCount, int baseInstance,
const GrBuffer* vertexBuffer, int vertexCount, int baseVertex) override {}
void onDrawIndexedInstanced(const GrBuffer* indexBuffer, int indexCount, int baseIndex,
GrPrimitiveRestart, const GrBuffer* instanceBuffer,
int instanceCount, int baseInstance, const GrBuffer* vertexBuffer,
int baseVertex) override {}
void onBindBuffers(const GrBuffer* indexBuffer, const GrBuffer* instanceBuffer,
const GrBuffer* vertexBuffer, GrPrimitiveRestart) override {}
void onDraw(int vertexCount, int baseVertex) override {}
void onDrawIndexed(int indexCount, int baseIndex, uint16_t minIndexValue,
uint16_t maxIndexValue, int baseVertex) override {}
void onDrawInstanced(int instanceCount, int baseInstance, int vertexCount,
int baseVertex) override {}
void onDrawIndexedInstanced(int indexCount, int baseIndex, int instanceCount, int baseInstance,
int baseVertex) override {}
void onClear(const GrFixedClip&, const SkPMColor4f& color) override {}
void onClearStencilClip(const GrFixedClip&, bool insideStencilMask) override {}