HLSL: Give error on unsupported buffer initializer.
This commit is contained in:
parent
87982be1a0
commit
8116cfc9bf
@ -1,7 +1,11 @@
|
||||
hlsl.localStructuredBuffer.comp
|
||||
ERROR: 0:3: 'block initializer' : buffer aliasing not yet supported
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 500
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
ERROR: node is still EOpNull!
|
||||
0:2 Function Definition: @main( ( temp void)
|
||||
0:2 Function Parameters:
|
||||
0:2 Function Definition: main( ( temp void)
|
||||
@ -17,7 +21,7 @@ Linked compute stage:
|
||||
|
||||
Shader version: 500
|
||||
local_size = (1, 1, 1)
|
||||
0:? Sequence
|
||||
ERROR: node is still EOpNull!
|
||||
0:2 Function Definition: @main( ( temp void)
|
||||
0:2 Function Parameters:
|
||||
0:2 Function Definition: main( ( temp void)
|
||||
@ -27,38 +31,4 @@ local_size = (1, 1, 1)
|
||||
0:? Linker Objects
|
||||
0:? 'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80002
|
||||
// Id's are bound by 14
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main"
|
||||
ExecutionMode 4 LocalSize 1 1 1
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 6 "@main("
|
||||
Name 11 "srt0"
|
||||
MemberName 11(srt0) 0 "@data"
|
||||
Name 13 "srt0"
|
||||
Decorate 10 ArrayStride 4
|
||||
MemberDecorate 11(srt0) 0 Offset 0
|
||||
Decorate 11(srt0) BufferBlock
|
||||
Decorate 13(srt0) DescriptorSet 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
9: TypeInt 32 0
|
||||
10: TypeRuntimeArray 9(int)
|
||||
11(srt0): TypeStruct 10
|
||||
12: TypePointer Uniform 11(srt0)
|
||||
13(srt0): 12(ptr) Variable Uniform
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8: 2 FunctionCall 6(@main()
|
||||
Return
|
||||
FunctionEnd
|
||||
6(@main(): 2 Function None 3
|
||||
7: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
SPIR-V is not generated for failed compile or link
|
||||
|
||||
@ -478,6 +478,8 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& nodeList)
|
||||
if (typedefDecl)
|
||||
parseContext.declareTypedef(idToken.loc, *fullName, variableType);
|
||||
else if (variableType.getBasicType() == EbtBlock) {
|
||||
if (expressionNode)
|
||||
parseContext.error(idToken.loc, "buffer aliasing not yet supported", "block initializer", "");
|
||||
parseContext.declareBlock(idToken.loc, variableType, fullName,
|
||||
variableType.isArray() ? &variableType.getArraySizes() : nullptr);
|
||||
parseContext.declareStructBufferCounter(idToken.loc, variableType, *fullName);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user