40 lines
881 B
GLSL
40 lines
881 B
GLSL
|
RWByteAddressBuffer ssbos[] : register(u3, space0);
|
||
|
|
||
|
static int vIndex;
|
||
|
static float4 FragColor;
|
||
|
|
||
|
struct SPIRV_Cross_Input
|
||
|
{
|
||
|
nointerpolation int vIndex : TEXCOORD0;
|
||
|
};
|
||
|
|
||
|
struct SPIRV_Cross_Output
|
||
|
{
|
||
|
float4 FragColor : SV_Target0;
|
||
|
};
|
||
|
|
||
|
void frag_main()
|
||
|
{
|
||
|
int i = vIndex;
|
||
|
int _42 = i + 60;
|
||
|
int _45 = i + 70;
|
||
|
ssbos[NonUniformResourceIndex(_42)].Store4(_45 * 16 + 16, asuint(20.0f.xxxx));
|
||
|
int _48 = i + 100;
|
||
|
uint _49;
|
||
|
ssbos[NonUniformResourceIndex(_48)].InterlockedAdd(0, 100u, _49);
|
||
|
int _51 = i;
|
||
|
uint _52;
|
||
|
ssbos[NonUniformResourceIndex(_51)].GetDimensions(_52);
|
||
|
_52 = (_52 - 16) / 16;
|
||
|
FragColor.z += float(int(_52));
|
||
|
}
|
||
|
|
||
|
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
|
||
|
{
|
||
|
vIndex = stage_input.vIndex;
|
||
|
frag_main();
|
||
|
SPIRV_Cross_Output stage_output;
|
||
|
stage_output.FragColor = FragColor;
|
||
|
return stage_output;
|
||
|
}
|