Skip to content

Commit f899528

Browse files
committed
Merge branch 'main' into reconvergence-workflow
2 parents 6fd8145 + e536eaf commit f899528

File tree

54 files changed

+563
-60
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+563
-60
lines changed

.github/workflows/build-and-test-callable.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ on:
5858
required: false
5959
default: ''
6060
type: string
61-
TestReconvergenceTarget:
61+
TestTargetReconvergence:
6262
required: false
6363
default: 'check-hlsl-reconvergence'
6464
type: string
@@ -104,7 +104,7 @@ on:
104104
required: false
105105
default: ''
106106
type: string
107-
TestReconvergenceTarget:
107+
TestTargetReconvergence:
108108
required: false
109109
default: 'check-hlsl-reconvergence'
110110
type: string
@@ -191,7 +191,7 @@ jobs:
191191
run: |
192192
cd llvm-project
193193
cd build
194-
ninja ${{ inputs.TestReconvergenceTarget }}
194+
ninja ${{ inputs.TestTargetReconvergence }}
195195
- name: Publish Test Results
196196
uses: EnricoMi/publish-unit-test-result-action/macos@34d7c956a59aed1bfebf31df77b8de55db9bbaaf # v2.21.0
197197
if: always() && inputs.OS == 'macOS'

.github/workflows/windows-amd-clang-warp-preview-d3d12.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@ jobs:
2121
TestTarget: check-hlsl-clang-warp-d3d12
2222
TestTargetReconvergence: check-hlsl-clang-reconvergence-warp-d3d12
2323
OffloadTest-branch: ${{ github.ref }}
24-
LLVM-ExtraCMakeArgs: -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DOFFLOADTEST_USE_CLANG_TIDY=On -DWARP_VERSION=1.0.15-preview
24+
LLVM-ExtraCMakeArgs: -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DOFFLOADTEST_USE_CLANG_TIDY=On -DWARP_VERSION=1.0.17

.github/workflows/windows-amd-dxc-warp-preview-d3d12.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ jobs:
2222
TestTarget: check-hlsl-warp-d3d12
2323
TestTargetReconvergence: check-hlsl-reconvergence-warp-d3d12
2424
OffloadTest-branch: ${{ github.ref }}
25-
LLVM-ExtraCMakeArgs: -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DWARP_VERSION=1.0.15-preview
25+
LLVM-ExtraCMakeArgs: -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DWARP_VERSION=1.0.17

cmake/modules/Warp.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ function(setup_warp version)
2424
guess_nuget_arch(NUGET_ARCH)
2525

2626
if (version STREQUAL "LKG")
27-
set(version "1.0.15")
27+
set(version "1.0.17")
2828
set(version_description "Latest Known Good for ${NUGET_ARCH} (${version})")
2929
else ()
3030
set(version_description "Custom (${version})")

include/API/Device.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ struct DeviceConfig {
3838
class Device {
3939
protected:
4040
std::string Description;
41+
std::string DriverName;
4142

4243
public:
4344
virtual const Capabilities &getCapabilities() = 0;
@@ -51,6 +52,7 @@ class Device {
5152
virtual ~Device() = 0;
5253

5354
llvm::StringRef getDescription() const { return Description; }
55+
llvm::StringRef getDriverName() const { return DriverName; }
5456

5557
static void registerDevice(std::shared_ptr<Device> D);
5658
static llvm::Error initialize(const DeviceConfig Config);

lib/API/MTL/MTLDevice.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ class MTLDevice : public offloadtest::Device {
290290
Height, false);
291291
break;
292292
case ResourceKind::Sampler:
293+
case ResourceKind::SamplerComparison:
293294
llvm_unreachable("Not implemented yet.");
294295
case ResourceKind::StructuredBuffer:
295296
case ResourceKind::RWStructuredBuffer:

lib/API/VK/Device.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -382,16 +382,19 @@ class VKDevice : public offloadtest::Device {
382382
const uint64_t DeviceNameSz =
383383
strnlen(Props.deviceName, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE);
384384
Description = std::string(Props.deviceName, DeviceNameSz);
385-
#if defined(__APPLE__) && defined(__aarch64__)
386385
DriverProps.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES;
387386
DriverProps.pNext = nullptr;
388387
Props2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
389388
Props2.pNext = &DriverProps;
390389
vkGetPhysicalDeviceProperties2(Device, &Props2);
391390
const uint64_t DriverNameSz =
392391
strnlen(DriverProps.driverName, VK_MAX_DRIVER_NAME_SIZE);
393-
Description +=
394-
" (" + std::string(DriverProps.driverName, DriverNameSz) + ")";
392+
DriverName = std::string(DriverProps.driverName, DriverNameSz);
393+
#if defined(__APPLE__) && defined(__aarch64__)
394+
// Apple silicon Macs may have multiple Vulkan drivers sharing one device
395+
// name. Include the driver name in the description to enable
396+
// adapter-regex matching.
397+
Description += " (" + DriverName + ")";
395398
#endif
396399
}
397400
VKDevice(const VKDevice &) = default;
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#--- source.hlsl
2+
3+
RWBuffer<int> In : register(u0);
4+
RWBuffer<int> Out : register(u1);
5+
6+
[numthreads(16,1,1)]
7+
void main(uint GI : SV_GroupIndex) {
8+
int2x2 A = int2x2(In[0], In[1],
9+
In[2], In[3]);
10+
int2x2 B = int2x2(In[4], In[5],
11+
In[6], In[7]);
12+
int2x2 C = int2x2(In[8], In[9],
13+
In[10], In[11]);
14+
int3x1 D = int3x1(In[12], In[13], In[14]);
15+
16+
int4x4 Mat = {A, B, C, D, In[15]};
17+
const uint COLS = 4;
18+
uint row = GI / COLS;
19+
uint col = GI % COLS;
20+
21+
Out[GI] = Mat[row][col];
22+
}
23+
24+
//--- pipeline.yaml
25+
26+
---
27+
Shaders:
28+
- Stage: Compute
29+
Entry: main
30+
DispatchSize: [1, 1, 1]
31+
Buffers:
32+
- Name: In
33+
Format: Int32
34+
Data: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
35+
- Name: Out
36+
Format: Int32
37+
FillSize: 64
38+
- Name: ExpectedOut
39+
Format: Int32
40+
Data: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
41+
Results:
42+
- Result: Out
43+
Rule: BufferExact
44+
Actual: Out
45+
Expected: ExpectedOut
46+
DescriptorSets:
47+
- Resources:
48+
- Name: In
49+
Kind: RWBuffer
50+
DirectXBinding:
51+
Register: 0
52+
Space: 0
53+
VulkanBinding:
54+
Binding: 0
55+
- Name: Out
56+
Kind: RWBuffer
57+
DirectXBinding:
58+
Register: 1
59+
Space: 0
60+
VulkanBinding:
61+
Binding: 1
62+
...
63+
#--- end
64+
65+
# RUN: split-file %s %t
66+
# RUN: %dxc_target -T cs_6_0 -Fo %t.o %t/source.hlsl
67+
# RUN: %offloader %t/pipeline.yaml %t.o

test/Bugs/Adjacent-Partial-Writes.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,6 @@ DescriptorSets:
6969
# https://github.com/llvm/llvm-project/issues/142677
7070
# UNSUPPORTED: Vulkan
7171

72-
# Bug https://github.com/llvm/offload-test-suite/issues/330
73-
# XFAIL: AMD && DirectX
74-
7572
# RUN: split-file %s %t
7673
# RUN: %dxc_target -T cs_6_5 -Fo %t.o %t/source.hlsl
7774
# RUN: %offloader %t/pipeline.yaml %t.o

test/Feature/ByteAddressBuffer/ByteAddressBuffers-16bit.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,8 @@ DescriptorSets:
8888
...
8989
#--- end
9090

91-
# Unimplemented https://github.com/llvm/llvm-project/issues/108058
92-
# XFAIL: Clang
91+
# Unimplemented https://github.com/llvm/llvm-project/issues/179560
92+
# XFAIL: Clang && Vulkan
9393

9494
# REQUIRES: Int16
9595
# RUN: split-file %s %t

0 commit comments

Comments
 (0)