Skip to content

Assertion reached in SEMA related to builtin template specialization #4875

Open
@Keenuts

Description

@Keenuts

Hi,

Reached this assert while trying to reproduce #4856

revision: 2c3d965
command line: ./build/bin/dxc -T cs_6_0 -E main repro.hlsl

code:

[[vk::binding(0)]] Texture2D<float> g_depth_buffer : register(t0);

#define A_GPU
#define A_HLSL
#include "ffx_a.h"

groupshared float g_group_shared_depth_values[16][16];

AF4 SpdLoadIntermediate(AU1 x, AU1 y) {
	float f = g_group_shared_depth_values[x][y];
	return f.xxxx;
}


[numthreads(32, 8, 1)]
void main(uint3 dispatch_thread_id : SV_DispatchThreadID, uint3 group_id : SV_GroupID, uint group_index : SV_GroupIndex){
}

I do not have a ffx_a.h file on my machine, at least not that I know of. Removing the first line makes DXC fails with the "ffx_a.h not found".

Error:

dxc: SemaHLSL.cpp:788: clang::QualType GetOrCreateTemplateSpecialization(clang::ASTContext &, clang::Sema &, clang::ClassTemplateDecl *, ArrayRef<clang::TemplateArgument>): Assertion `false == sema.InstantiateClassTemplateSpecialization( NoLoc, specializationDecl, TemplateSpecializationKind::TSK_ImplicitInstantiation, true)' failed.
Aborted

Metadata

Metadata

Assignees

Labels

bugBug, regression, crash

Type

No type

Projects

Status

Triaged

Relationships

None yet

Development

No branches or pull requests

Issue actions