diff options
| author | TellowKrinkle <tellowkrinkle@gmail.com> | 2022-06-16 17:26:30 -0500 |
|---|---|---|
| committer | TellowKrinkle <tellowkrinkle@gmail.com> | 2022-06-16 20:26:11 -0500 |
| commit | 26529a31ab97f2743fe1a7c52969079d7764bc6d (patch) | |
| tree | a4d32074fef033c1b21e51288eb12125db63714c /Source/Core/VideoCommon/PixelShaderGen.cpp | |
| parent | 431d757151f329780f99e606102f444787640d73 (diff) | |
VideoCommon: Fix SSBO layout and remove associated "bug"
Diffstat (limited to 'Source/Core/VideoCommon/PixelShaderGen.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/PixelShaderGen.cpp | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/Source/Core/VideoCommon/PixelShaderGen.cpp b/Source/Core/VideoCommon/PixelShaderGen.cpp index 4a9e9105a8..950763f5d8 100644 --- a/Source/Core/VideoCommon/PixelShaderGen.cpp +++ b/Source/Core/VideoCommon/PixelShaderGen.cpp @@ -464,22 +464,9 @@ void WritePixelShaderCommonHeader(ShaderCode& out, APIType api_type, } else { - out.Write("SSBO_BINDING(0) buffer BBox {{\n"); - - if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_SSBO_FIELD_ATOMICS)) - { - // AMD drivers on Windows seemingly ignore atomic writes to fields or array elements of an - // SSBO other than the first one, but using an int4 seems to work fine - out.Write(" int4 bbox_data;\n"); - } - else - { - // The Metal shader compiler fails to compile the atomic instructions when operating on - // individual components of a vector - out.Write(" int bbox_data[4];\n"); - } - - out.Write("}};"); + out.Write("SSBO_BINDING(0) buffer BBox {{\n" + " int bbox_data[4];\n" + "}};"); } out.Write(R"( |
