@@ -467,7 +467,7 @@ RWTexture2D<float4> g_ColorBuffer1;
467467RWTexture2D<float4> g_ColorBuffer2;
468468RWTexture2D<float4> g_ColorBuffer3;
469469
470- StructuredBuffer<float4> g_Buffer1[5];
470+ StructuredBuffer<float4> g_Buffer1[5] : register(t29, space5) ;
471471RWByteAddressBuffer g_Buffer2[] : register(u5, space1);
472472
473473struct Matrix
@@ -484,6 +484,13 @@ cbuffer Texture2DConstants
484484 uint2 Range2;
485485};
486486
487+ struct CBData
488+ {
489+ float4 f4;
490+ uint4 u4;
491+ };
492+ ConstantBuffer<CBData> g_CB[];
493+
487494float4 main(in float4 f4Position : SV_Position) : SV_TARGET
488495{
489496 float2 UV = f4Position.xy;
@@ -503,7 +510,10 @@ float4 main(in float4 f4Position : SV_Position) : SV_TARGET
503510 g_Tex[3].Sample(g_TexSampler, UV) +
504511 g_Tex3D.Sample(g_TexSampler, UV.xxy) +
505512 g_Buffer1[1][9] * g_Buffer1[4][100] +
506- g_MatrixBuffer[3].m[0];
513+ g_MatrixBuffer[3].m[0] +
514+ g_Buffer1[Range2.x + 1][26] +
515+ g_CB[15].f4 +
516+ g_CB[Range2.y + 5].f4;
507517}
508518)hlsl" ;
509519
@@ -517,7 +527,7 @@ float4 main(in float4 f4Position : SV_Position) : SV_TARGET
517527 MaxSM = ShaderVersion{6 , 6 };
518528 }
519529
520- for (Uint32 MinorVersion = 5 ; MinorVersion <= MaxSM.Minor ; ++MinorVersion)
530+ for (Uint32 MinorVersion = 0 ; MinorVersion <= MaxSM.Minor ; ++MinorVersion)
521531 {
522532 std::wstring Profile = L" ps_6_" + std::to_wstring (MinorVersion);
523533 LOG_INFO_MESSAGE (" Testing shader profile " , NarrowString (Profile));
@@ -548,6 +558,7 @@ float4 main(in float4 f4Position : SV_Position) : SV_TARGET
548558 BindigMap[" g_ColorBuffer3" ] = { 1 , 0 , 1 , SHADER_RESOURCE_TYPE_TEXTURE_UAV };
549559 BindigMap[" Texture2DConstants" ] = { 8 , 0 , 1 , SHADER_RESOURCE_TYPE_CONSTANT_BUFFER};
550560 BindigMap[" g_MatrixBuffer" ] = { 14 , 0 , 1 , SHADER_RESOURCE_TYPE_BUFFER_SRV };
561+ BindigMap[" g_CB" ] = {316 , 0 , 1 , SHADER_RESOURCE_TYPE_CONSTANT_BUFFER };
551562 BindigMap[" g_AnotherRes" ] = {567 , 0 , 1 , SHADER_RESOURCE_TYPE_TEXTURE_UAV };
552563 // clang-format on
553564 CComPtr<IDxcBlob> pRemappedDXIL;
@@ -596,6 +607,10 @@ float4 main(in float4 f4Position : SV_Position) : SV_TARGET
596607 EXPECT_EQ (BindDesc.BindPoint , 8U );
597608 EXPECT_EQ (BindDesc.Space , 0U );
598609
610+ EXPECT_HRESULT_SUCCEEDED (pReflection->GetResourceBindingDescByName (" g_CB" , &BindDesc));
611+ EXPECT_EQ (BindDesc.BindPoint , 316U );
612+ EXPECT_EQ (BindDesc.Space , 0U );
613+
599614 EXPECT_HRESULT_SUCCEEDED (pReflection->GetResourceBindingDescByName (" g_MatrixBuffer" , &BindDesc));
600615 EXPECT_EQ (BindDesc.BindPoint , 14U );
601616 EXPECT_EQ (BindDesc.Space , 0U );
@@ -613,6 +628,7 @@ float4 main(in float4 f4Position : SV_Position) : SV_TARGET
613628 BindigMap[" g_ColorBuffer3" ] = { 11 , 100 , 1 , SHADER_RESOURCE_TYPE_TEXTURE_UAV };
614629 BindigMap[" Texture2DConstants" ] = { 9 , 3 , 1 , SHADER_RESOURCE_TYPE_CONSTANT_BUFFER};
615630 BindigMap[" g_MatrixBuffer" ] = { 10 , 5 , 1 , SHADER_RESOURCE_TYPE_BUFFER_SRV };
631+ BindigMap[" g_CB" ] = {132 , 8 , 1 , SHADER_RESOURCE_TYPE_CONSTANT_BUFFER };
616632 BindigMap[" g_AnotherRes" ] = {567 , 0 , 1 , SHADER_RESOURCE_TYPE_CONSTANT_BUFFER};
617633 // clang-format on
618634 pRemappedDXIL = nullptr ;
@@ -661,6 +677,10 @@ float4 main(in float4 f4Position : SV_Position) : SV_TARGET
661677 EXPECT_EQ (BindDesc.BindPoint , 9U );
662678 EXPECT_EQ (BindDesc.Space , 3U );
663679
680+ EXPECT_HRESULT_SUCCEEDED (pReflection->GetResourceBindingDescByName (" g_CB" , &BindDesc));
681+ EXPECT_EQ (BindDesc.BindPoint , 132U );
682+ EXPECT_EQ (BindDesc.Space , 8U );
683+
664684 EXPECT_HRESULT_SUCCEEDED (pReflection->GetResourceBindingDescByName (" g_MatrixBuffer" , &BindDesc));
665685 EXPECT_EQ (BindDesc.BindPoint , 10U );
666686 EXPECT_EQ (BindDesc.Space , 5U );
0 commit comments