Welcome to mirror list, hosted at ThFree Co, Russian Federation.

task-basic.invalid.task « stages « shaders « reference - github.com/HansKristian-Work/dxil-spirv.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: db9e165bfeba216396e60f2ff659695c2852b88b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#version 460
#extension GL_EXT_mesh_shader : require
layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in;

struct _11
{
    float _m0[64][4];
};

taskPayloadSharedEXT _11 _13;

void main()
{
    float _17 = float(gl_LocalInvocationIndex);
    _13._m0[gl_LocalInvocationIndex][0u] = _17;
    _13._m0[gl_LocalInvocationIndex][1u] = _17;
    _13._m0[gl_LocalInvocationIndex][2u] = _17;
    _13._m0[gl_LocalInvocationIndex][3u] = _17;
    EmitMeshTasksEXT(2u, 3u, 4u);
}


#if 0
// SPIR-V disassembly
; SPIR-V
; Version: 1.4
; Generator: Unknown(30017); 21022
; Bound: 28
; Schema: 0
OpCapability Shader
OpCapability MeshShadingEXT
OpExtension "SPV_EXT_mesh_shader"
OpMemoryModel Logical GLSL450
OpEntryPoint TaskEXT %3 "main" %13 %15
OpExecutionMode %3 LocalSize 64 1 1
OpName %3 "main"
OpName %11 ""
OpDecorate %15 BuiltIn LocalInvocationIndex
%1 = OpTypeVoid
%2 = OpTypeFunction %1
%5 = OpTypeInt 32 0
%6 = OpConstant %5 64
%7 = OpConstant %5 4
%8 = OpTypeFloat 32
%9 = OpTypeArray %8 %7
%10 = OpTypeArray %9 %6
%11 = OpTypeStruct %10
%12 = OpTypePointer TaskPayloadWorkgroupEXT %11
%13 = OpVariable %12 TaskPayloadWorkgroupEXT
%14 = OpTypePointer Input %5
%15 = OpVariable %14 Input
%18 = OpTypePointer TaskPayloadWorkgroupEXT %8
%20 = OpConstant %5 0
%22 = OpConstant %5 1
%24 = OpConstant %5 2
%26 = OpConstant %5 3
%3 = OpFunction %1 None %2
%4 = OpLabel
OpBranch %27
%27 = OpLabel
%16 = OpLoad %5 %15
%17 = OpConvertUToF %8 %16
%19 = OpAccessChain %18 %13 %20 %16 %20
OpStore %19 %17
%21 = OpAccessChain %18 %13 %20 %16 %22
OpStore %21 %17
%23 = OpAccessChain %18 %13 %20 %16 %24
OpStore %23 %17
%25 = OpAccessChain %18 %13 %20 %16 %26
OpStore %25 %17
OpEmitMeshTasksEXT %24 %26 %7 %13
OpFunctionEnd
#endif